Así bailaba las escaleras de salto de rana

Título: Una rana puede saltar en un nivel de 1 clase, también se puede coger el nivel de nivel 2. La rana saltó en busca de un total de n del nivel de grado cuántos saltos?

Suponiendo que sólo un paso, luego sólo una rana salta; hay dos pasos, entonces hay dos saltos. Pero si el primer paso tres, hay dos tipos de saltos de rana: la rana saltó un primer paso escaleras, entonces sólo los dos pasos, el primer paso en la rana saltó dos pasos, a continuación, a la izquierda de un paso, cada paso corresponde a doce salta. A continuación, volver al tema, de hecho, n escaleras saltan método y el tercer nivel de análisis es el mismo.

Nos salta cuando salto n de pasos en función de n, que se denota por f (n).

Cuando n = 1, f (1) = 1;
cuando n = 2, f (2) = 2;
cuando n = 3 cuando, f (3) = f ( 2) + f (1);
cuando n = 4, f (4) = f ( 3) + f (2);

· · ·

Cuando n = n tiempo, f (n) = f ( n-2) + f (n-1)
Esto corresponde a la cantidad de columnas en el número de Fibonacci bien conocida, y su solución se divide en dos: recursiva y iterativo, método recursivo es muy simple, pero empuje demasiado parámetros del sistema, hasta No. 50 cuando la velocidad de procesamiento es muy lento.
Así que dado el código:

#include <stdio.h>
int JumpSteps(int n)
{
	if (n > 0 && n <= 2)
		return n;
	else
		return JumpSteps(n - 2) + JumpSteps(n - 1);
}
int main()
{
	int n;
	printf("请输入台阶级数:");
	scanf("%d", &n);
	int ret = JumpSteps(n);
	printf("小青蛙共有 %d 种跳法\n", ret);
	return 0;
}

Aquí Insertar imagen Descripción
Bajo uno de: un algoritmo iterativo
se pega el código

#include <stdio.h>

int JumpSteps2(int n)
{
	int n1 = 1;
	int n2 = 2;
	int result = 0;
	if (n > 0 && n <= 2)
		return n;
	for (int i = 3; i <= n; i++)
	{
		result = n1 + n2;
		n1 = n2;
		n2 = result;
	}
	return result;
}

int main()
{
	int n;
	printf("请输入台阶级数:");
	scanf("%d", &n);
	int ret = JumpSteps2(n);
	printf("小青蛙共有 %d 种跳法\n", ret);
	return 0;
}

Aquí Insertar imagen Descripción
Por supuesto que hay otro tema planteado por otras derivadas de
una rana puede saltar en un nivel de 1 clase, también puede saltar en el nivel 2 también puede saltarse los pasos ...... n pasos. La rana saltó en busca de un total de n del nivel de grado cuántos saltos?
Aquí, con Fib (n) representa n rana paso método de salto de los saltos, que dieron Fib (0) = 1, es decir, 0 paso salta.

Cuando n = 1, sólo un método de salto, es decir, el paso 1 hop: Fib (1) = 1;

Cuando n = 2, hay dos maneras para saltar, saltar de primer orden y de segundo orden de salto: Fib (2) = Fib (1) + Fib (0) = 2;

Cuando n = 3, hay tres maneras de saltar, después de que el primer bote de primer orden, y hay en Fib (3-1) saltos; segundo orden después de la primera de rebote, y hay Fib (3-2) método para el salto; tercera orden después de la primera de rebote, y hay en Fib (3-3) método de salto, es decir, Fib (3) = Fib (2) + Fib (1) + Fib (0) = 4;

Cuando n = n cuando hay n tipos de modo de salto, la primera orden después de la primera de rebote, y hay en Fib (n-1) saltos; segundo orden después de la primera de rebote, y hay Fib (n-2 ) y después de la primera método de salto ...... fuera de orden n, así como más tarde en Fib (nn) saltos, es decir, Fib (n) = Fib (n-1) + Fib (n-2) + Fib (n-3 ) + ...... + Fib (nn) = Fib (0) + Fib (1) + Fib (2) + ....... + Fib (n-1)

Y debido a Fib (n-1) = Fib (0) + Fib (1) + Fib (2) + ...... + Fib (n-2).
Dos fórmula resta fase: Fib (n) -Fib (n -1 ) = Fib (n-1)
se puede deducir Fib (n) = 2 * Fib (n-1), n> = 2
ecuación recursiva como sigue:
Aquí Insertar imagen Descripción
Por lo tanto, f (n) = 2 * f (n-1) . * 2F 2 = (n - 2) = 2 ... (n-- 1.) * F (0) = 2 (n-- 1.)
basado en la comprensión, es fácil obtener el código:

#include <stdio.h>
int JumpSteps3(int n)
{
    if(n == 1)
        return 1;
    else
        return 2*JumpSteps3(n-1);
}
int main()
{
    int n;
    printf("请输入台阶级数:");
    scanf("%d", &n);
    int ret = JumpSteps3(n);
    printf("小青蛙共有 %d 种跳法\n", ret);
    return 0;
}

Aquí Insertar imagen Descripción
En este punto, se subieron los escalones del problema de la comprensión de la rana también terminó, con la esperanza de ayudarle.

Publicado cinco artículos originales · ganado elogios 0 · Vistas 116

Supongo que te gusta

Origin blog.csdn.net/Noreturnperiod/article/details/105303310
Recomendado
Clasificación