c语言 数列1,1,2,3,5,8,13,21,34...求第n项

1.第一种用循环

#include<stdio.h>

int main(void)
{    
    int array[100]={1,1};
	int i=0;
	int n=30;
	for(i=2;i<n+1;i++){
		array[i]=array[i-1]+array[i-2];
	}
    printf("arr[%d] = %d\n", n, array[n-1]);
	return 0;
}

2.第二种用递归

int fibonacci(int n)
{
	if(n==0||n==1)
		return 1;
    if( n > 1 )
        return fibonacci(n-1) + fibonacci(n-2);
    
    
}
 
int main()
{
    int i = 0;
    for(i=0; i<30; i++)
    {
        printf("fibonacci(%d) = %d\n", i, fibonacci(i));
    }
    return 0;
}


你可能感兴趣的:(递归,C语言)