1. c語言編寫計算斐波那契(Fibonacci)
斐波那契數列為:0,1,1,2,3,5,8,13.....
/*你的程序*/
#include<stdio.h>
int fib(int n,int f)
{
if(n==1&&n==2) /*n不可能同時等於1和2,所以遞歸無終點,會一直遞歸下去。*/
{f=1;} /*正確的斐波那契數列是n==1時f=0,n==2時f=1*/
else
{f=fib(n-1,f)+fib(n-2,f);}
return f;
}
int main()
{
int n,f; /*n沒有賦初始值*/
f=fib(n,f);
printf("%d",f);
return 0;
}
/*改正後的程序*/
#include<stdio.h>
int fib(int n,int f)
{
if(n==1)
{
f=0;
}
else if(n==2)
{
f=1;
}
else
{
f=fib(n-1,f)+fib(n-2,f);
}
return f;
}
int main()
{
int n,f;
scanf("%d,%d",&n,&f);
f=fib(n,f);
printf("%d",f);
return 0;
}
2. C語言 計算fibonacci數列
C語言程序代碼如下:
#include <stdio.h>
main()
{
long int f1,f2;
int i;
f1=1;
f2=1;
for (i=1;i<=9;i++)
{
printf("%ld %ld ",f1,f2);
if (i%3==0) printf("
");
f1=f1+f2;
f2=f2+f1;
}
return 0;
}
if語句是使輸出6個數後換行。因為i是循環變數,當i為偶數時換行,因此i每隔2換一次行相當於每輸出6個數後換行。
輸出結果如下
3. 用C語言編寫Fibonacci數列
intfib[20]={0,0,1},i;
for(i=3;i<19;i++){
fib[i]=fib[i-1]+fib[i-2]+fib[i-3];
}
4. C語言如何用數組求Fibonacci數列的前N項和
1、首先打開vc,點擊文件、新建;
5. 如何使用C語言輸出Fibonacci數列
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int limit = 10; // 輸出前10個fibonacci數
int pre1 = 1; // 當前計算值前面第二個fibonacci數
int pre2 = 1; // 當前計算值前面一個fibonacci數
int res; // 當前計算值
for (i; i < limit; i++)
{
if (i == 0 || i == 1)
{
// 前兩個fibonacci數是1
printf("1 ");
}
else
{
res = pre1 + pre2;
printf("%d ", res);
pre1 = pre2;
pre2 = res;
}
}
return 0;
}