循环
#include <stdio.h>
int fib(int i);
int main(void) {
int i;
printf("请输入i: ");
scanf("%d", &i);
printf("fi is : %d \n", fib(i));
}
int fib(int i){
int array[100];
array[0] = 0;
array[1] = 1;
int j;
if(i <= 1){
array[i] = 0;
}
else{
for(j = 2; j <= i; j++){
array[j] = array[j-2] + array[j-1];
}
}
return array[i];
}
递归
#include <stdio.h>
int fib(int i);
int main(void) {
int i;
printf("请输入i: ");
scanf("%d", &i);
printf("fi is : %d \n", fib(i));
}
int fib(int i){
if(i < 1){
return 0;
}
else if(i == 1){
return 1;
}
else{
return fib(i-1)+fib(i-2);
}
}