Encuentra cualquier valor en la secuencia de Fibonacci

Secuencia de Fibonacci: 1 1 2 3 5 8 13 ...
Comenzando desde el tercer número, cada número es igual a la suma de los dos primeros números.
Ingrese un número para indicar cuál es el número de Fibonacci

1. Recurrencia (cuando el número de entradas es demasiado grande, la eficiencia es demasiado lenta)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Fib(int n)
{
    
    
	if (n <= 2)
		return 1;
	else
	    return Fib(n - 1) + Fib(n - 2);
}
int main()
{
    
    
	int n = 0;
	scanf("%d", &n);
	int ret = Fib(n);
	printf("%d\n", ret);
	return 0;
}

2. No recursivo (iterativo)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Fib(int m)
{
    
    
	int a = 1;
	int b = 1;
	int c = 1;
	while (m > 2)
	{
    
    
		c = a + b;
		a = b;
		b = c;
		m--;
	}
	return c;
}
int main()
{
    
    
	int n = 0;
	scanf("%d", &n);
	int ret = Fib(n);
	printf("%d\n", ret);
	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_45658339/article/details/108269664
Recomendado
Clasificación