㈠ c語言中,求Fibonacci數列前40個數的問題有點不明白
你現在想像有倆盒子f1,f2,首先倆盒子里裝得是第一個數和第二個數
printf("%12ld
%12ld",f1,f2);//首先列印第一個和第二個數
f1=f1+f2;/*然後把第一盒子里的數改為數列的第三個數(第一個數與第二個數的和)*/
f2=f2+f1;/*再把第二個盒子里的數改為第四個數(第二個數與第三個數的和因為你第一個盒子里裝的是數列第三個數)*/
i<=20說明一共循環二十次,每次列印倆數,一共列印40個數。
㈡ C語言的 求fibonacci數列前四十項和
#include<stdio.h>
#define N 40
int main()
{
int f[N+1]={0};
int i,sum=0;
f[1]=f[2]=1;
for( i=3; i<=N; i++)
f[i] = f[i-1]+f[i-2];
for( i=1; i<=N; i++){
//printf( "第%d項:\t%d\n", i, f[i]);
sum += f[i];
}
printf( "前%d項和:\t%d\n", N, sum);
//system("pause");
return 0;
}
㈢ 求用C語言表達斐波那契數列
#include <stdio.h>
main( ){
long f1,f2,f;
int i,n;
scanf("%d",&n);
f1=f2=1;
if(n<=2)
f=1;
else
for(i=3;i<=n;i++){
f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld
",f);
}
㈣ c問題,求fibonacci數列前40個數的疑問
你想問什麼?這個例子里得F[0]和F[1]的值都是1,輸出的是從F[0]……F[19]共前20個fibonacci數列的數,分別是1,1,2,3,5,8,13,21,34……
不是,你要把數組搞清楚,數組的第一個是F[0]而不是F[1]。而且本例最先賦值的只是F[0]和F[1]兩個,值都是1。後面的F[i]都是通過循環算出來的fibonacci數列的數。
不是只有f[0]、f[1]在循環,循環的是f[i]=f[i-2]+f[i-1] 。而是最先只給f[0]、f[1]這兩個賦了值,後面的都是循環中算出來的。
㈤ C語言編程:寫出斐波那契數列的前40個數
#include <stdio.h>
int main()
{
int f1 = 1;
int f2 = 1;
int f3,i;
printf("%d %d ",f1,f2);
for(i = 1; i <= 38; i++)
{
f3 = f1 + f2;
printf("%d ",f3);
f1= f2;
f2= f3;
}
printf(" ");
return 0;
}
(5)斐波那契數列前四十c語言擴展閱讀:
在數學上,斐波那契數列以如下被以遞推的方法定義:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)
遞推公式
斐波那契數列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
如果設F(n)為該數列的第n項(n∈N*),那麼這句話可以寫成如下形式::F(n)=F(n-1)+F(n-2)
顯然這是一個線性遞推數列。
平方與前後項
從第二項開始,每個偶數項的平方都比前後兩項之積少1,每個奇數項的平方都比前後兩項之積多1。
㈥ C語言!!!定義數組完成,按每行輸出5個數的形式輸出fibonacci數列的前40項
注意:40項斐波那契數列,數字將會非常大,int類型變數已無法存儲!代碼中使用到了64位無符號整型數unsigned __int64,以便滿足題目要求且可繼續擴展(比如輸出50項)。
#include<stdio.h>
#defineMAX40/*費波那契數列項數上限*/
voidfibonacci(unsigned__int64f[],intn){/*生成n項費波那契數列,n=0為起始*/
inti;
f[0]=0;/*F0=0*/
f[1]=1;/*F1=1*/
for(i=2;i<=n;i++)/*Fn=Fn-1+Fn-2(n>=2)*/
f[i]=f[i-1]+f[i-2];
}
intmain(void){
unsigned__int64f[MAX];
inti;
fibonacci(f,MAX);
printf("前%d項斐波那契數列(自F0起): ");
for(i=0;i<=MAX;i++){
printf("%I64u ",f[i]);
if((i+1)%5==0)/*5個數換行*/
printf(" ");
}
printf(" ");
getch();/*屏幕暫留*/
return0;
}
運行結果
如有問題,可點擊頭像聯系我~~
㈦ 求Fibonacci數列前40個數 判斷m是否為素數 使用c語言!!
斐波那契
#include<stdio.h>
intfib(intn)
{
if(n==1||n==2)
return1;
returnfib(n-1)+fib(n-2);
}
intmain()
{
intn=40;
printf("%d ",fib(n));
return0;
}
素數
#include<stdio.h>
voidmain()
{
inti,n;
printf("請輸入n:");
scanf("%d",&n);
i=2;
while(i<n)
{
if(n%i==0)
break;
i++;
}
if(i==n)
printf("%d是素數 ",n);
else
printf("%d不是素數 ",n);
}
㈧ 哪位幫忙跟我解釋一下用C語言for循環求解Fibonacci數列前40項和的思路啊~~
假設存在f[40]中
先初始化前兩項
f[0]
=
f[1]
=
1;
然後for循環,f[i]
=
f[i-1]
+
f[i-2];
i從2開始,即第三項
for
(i
=
2;
i
<
40;
i
++)
f[i]
=
f[i-1]
+
f[i-2];
就可以了
㈨ (1) 求Fibonacci數列:1,1,2,3,5,8,…的前40個數。 C語言,用for循環
1、首先打開編輯代碼的軟體。再定義一個int類型的變數a。
6、在while語句中,寫入代碼。再用break就可以結束循環。
㈩ 用遞歸法求斐波那契數列前40項。
用遞歸法求斐波那契數列前40項方法為:
1、首先,對非法下標進行判斷。
注意事項:
斐波那契數列在自然科學的其他分支,有許多應用。例如,樹木的生長,由於新生的枝條,往往需要一段「休息」時間,供自身生長,而後才能萌發新枝。