作业帮 > 综合 > 作业

C语言编程问题:用Fibonacci数列为:1,1,2,3,5,8,13,.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/03 07:35:04
C语言编程问题:用Fibonacci数列为:1,1,2,3,5,8,13,.
用Fibonacci数列为:1,1,2,3,5,8,13,.用递归法编写求Fibonacci数的函数,在主函数中输入一个自然数,输出不小于该自然数的最小的一个Fibonacci数.
修改一下max = cond+3;
 
#include<stdio.h>
 
int fibonacci(int n)
{
 if(n== 1 || n==2)
 {
  return 1;
 }
 else
 {
  return fibonacci(n-1) + fibonacci(n-2);
 }
}
 
int main()
{   
 int cond;
 int i = 1;
 int max;
 int val;
 
 
 printf("请输入一个数:");
 scanf("%d",&cond);
 
    max = cond+3;
 
    for(i=1; i<max; i++)
 {
  val = fibonacci(i);
        printf("%d ",val);
  if(val >= cond)
  {
   break;
  }
 }
 
  printf("\n不小于自然数%d的最小的一个Fibonacci数为:%d\n",cond,val);
 
}