Secuencia Algoritmo-Fibonacci

Secuencia de Fibonacci

Inserte la descripción de la imagen aquí
Hay muchos problemas basados ​​en la
secuencia de Fibonacci , por ejemplo: las escaleras tienen n escalones, y puede subir uno o dos escalones. ¿Cuántas maneras de subir?
A pesar de la incorporación de la representación ambiental, la esencia del tema sigue siendo la secuencia de Fibonacci, solo descubra las reglas.

La resolución de la secuencia de Fibonacci puede usar técnicas de recursión o recurrencia:
1. Recursión La
recursión es calcular cada elemento de la secuencia de acuerdo con ciertas reglas , generalmente calculando los elementos anteriores Especifique el valor del artículo. La idea es transformar un proceso de cálculo complejo y enorme en múltiples repeticiones de un proceso simple. Este algoritmo aprovecha las características de las computadoras rápidas y las máquinas incansables.

int  fib[50];			//采用数组保存中间结果,假设最多不超过50个数
						//若不用数组,用三个变量循环赋值也可代替
int fibonacci(int n)		//参数为所求的第n个数
{
	fib[0] = 1;					
	fib[1] = 1;					//初始化前两位
	for (int i=2; i<=n; i++)
		fib[i] = fib[i-1]+fib[i-2];		//根据规律循环
	return fib[n];
}

2. Recursión
La técnica de programación que el programa se llama directa o indirectamente se llama algoritmo recursivo.

int fibonacci(int n)
{
	if (n<=1) return 1;		
	return fib(n-1)+fib(n-2);
}

Desventajas: la eficiencia de este algoritmo es muy baja, porque la recursión se repite demasiadas veces.

Publicado 36 artículos originales · elogiado 3 · visitas 3531

Supongo que te gusta

Origin blog.csdn.net/qq_43628835/article/details/105536648
Recomendado
Clasificación