Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗?添加细节并通过editing this post澄清问题。
两年前关闭。
使用这个程序我可以很容易地得到斐波那契数列。
int main(){

int n,i,first=0,second=1,next=0,fib=0;

// 0 1 1 2 3 5 8 13 21 34

printf("Enter the value of N: ");
scanf("%d",&n);

for(i=1;i<=n;i++){


    next = first+second;
    first = second;
    second = next;

    printf("%d",next);


}

}
但如何得到许多费博纳奇数是存在的。
例如,如果输入35,则结果应显示10个febonacci数。

最佳答案

您的for循环是以n迭代次数运行的,而不是运行到next超过n为止。请参阅代码中的以下修订:

int main(){

  int n,count=2,first=0,second=1,next=0,fib=0;

  // 0 1 1 2 3 5 8 13 21 34

  printf("Enter the value of N: ");
  scanf("%d",&n);

  while((first+second) <= n){
      next = first+second;
      first = second;
      second = next;
      printf("%d",next);
      count++;
  }
  printf("found %d numbers ", count);
}

关于c - 检查1到N之间有多少个斐波那契数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42423897/

10-12 21:40