9 votos

Contar: ¿cuántas formas de subir una escalera?

Estás subiendo una escalera. En cada escalón, puede hacer $1$ subir el escalón, o hacer $2$ subida de escalones. Digamos que una escalera de altura de $3$ . Se puede subir en $3$ formas $(1-1-1,\ 1-2,\ 2-1)$ .

Digamos que una escalera de altura de $4$ Puedes subir $5$ formas.

Dada una escalera de altura de $n$ ¿podrías calcular de cuántas maneras puedes escalar?


Intento:

En realidad se trata de un problema de programación, ya he escrito el código C++ en recursividad, pero no sé cómo verificar mi programa utilizando conocimientos matemáticos. Creo que no es un problema matemático complicado, pero aún así no he podido resolverlo. Así que les pido ayuda.

1 votos

Si se trata de un problema de programación, entonces pertenece a Stackoverflow .

6 votos

@Arthur: Implementar la recursión en algún lenguaje de programación sería un problema de programación, efectivamente. Encontrar la recursión en sí, sin embargo, es un problema muy matemático, y permite plantear la pregunta aquí.

0 votos

Una pista: Dejemos que f(n) cuente el número de formas de subir n escalones. Escribe una relación de recurrencia para f. Un viaje comienza con un solo escalón.

12voto

user326210 Puntos 26

Claro, ese código se ve bien. Cuando ejecuto mi propia versión del código, obtengo la secuencia Fibbonaci, ¿y tú?

$$1,\ 2,\ 3,\ 5,\ 8,\ 13,\ 21,\ \cdots$$

Esto tiene sentido: supongamos que $F_n$ representa el número de vías de ascenso $n$ pasos. Si hay que subir $n$ pasos, tenemos dos opciones: podemos dar 1 paso primero, entonces tendremos $F_{n-1}$ opciones. O podemos dar 2 pasos primero, entonces tendremos $F_{n-2}$ opciones. En otras palabras, $F_{n+1} = F_{n} + F_{n-1}$ total de opciones.

Como caso base especial, tenemos que $F_0 = 1$ (el caso base de su programa), y $F_1 = 1$ .

3voto

Meteor Puntos 31

Este es un ejemplo típico de Secuencia de Fibonacci .

Para llegar hasta, digamos $N^{th}$ paso, necesita llegar a $(N-1)^{th}$ o $(N-2)^{th}$ paso. Es cierto para todos los valores de $N$ donde $N$ es ${1,2,3...}$ .
Se trata, pues, de una recursión, al igual que evidente de su código :

if (numStairs-BIG>=0) return CountWays(numStairs-SMALL)+CountWays(numStairs-BIG); else return CountWays(numStairs-SMALL);

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X