Sequência de algoritmo-Fibonacci

Sequência de Fibonacci

Insira a descrição da imagem aqui
Existem muitos problemas baseados na
sequência de Fibonacci , por exemplo: as escadas têm n etapas, e você pode subir uma ou duas etapas. Quantas maneiras de subir as escadas?
Apesar da adição da renderização ambiental, a essência do assunto ainda é a sequência de Fibonacci, basta descobrir as regras.

A resolução da sequência de Fibonacci pode usar técnicas de recursão ou recursão:
1. Recursão de
recursão é calcular cada item na sequência de acordo com uma determinada regra , geralmente calculando os itens anteriores para obter a sequência Especifique o valor do item. A idéia é transformar um processo de cálculo complexo e enorme em várias repetições de um processo simples, que aproveita as características de computadores rápidos e máquinas incansáveis.

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. Recursão
A técnica de programação que o programa chama direta ou indiretamente a si mesma é chamada de algoritmo recursivo.

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

Desvantagens: A eficiência desse algoritmo é muito baixa, porque a recursão é repetida muitas vezes.

Publicado 36 artigos originais · elogiado 3 · visitas 3531

Acho que você gosta

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