當前位置:首頁 » 編程語言 » c語言fibonacci數列

c語言fibonacci數列

發布時間: 2022-04-30 01:13:38

1. 用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];
}

2. c語言斐波那契數列 Fibonacci數列

#include<stdio.h>
long int Fib(int N);
void main()
{
int i;
for (i=1;i<=80;i++)
{
printf("%d \t%10ld\t\n",i,Fib(i));
}
}
long int Fib(int N)
{
if (N<=1)
{
return 1;
}
else
{
returnFib(N-1)+Fib(N-2);
}
}

3. 如何使用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;
}

4. c語言 用函數編寫Fibonacci數列問題

#include<stdio.h>
intfib(inta);
main()
{
intn;
scanf("%d",&n);
fib(n);
}
intfib(inta)
{
intb[100];
inti;
b[0]=1;
b[1]=1;
for(i=2;i<=a-1;i++)
b[i]=b[i-1]+b[i-2];
for(i=0;i<a;i++)//b[a]沒有被賦值,不能輸出它的值
{
printf("%d ",b[i]);
if((i%4)==3)//每四個換行,應該是取余為3的時候列印換行符
printf(" ");//列印換行符應該在for循環裡面
}
returnb[a];
}

5. 求用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);
}

6. C語言,fibonacci數列

#include<stdio.h>
voidmain()
{
inti,a[15]={1,1};
for(i=2;i<15;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<15;i++)
printf("%-4d",a[i]);
}

7. C語言 計算fibonacci數列

就是計算前兩個數的和,輸出為第三個數,搞清楚要求再來編程即可。只是列印輸出,不需要保留就整形即可,要保留使用,用數組實現。
int DateOld =0;
int DateNow=1;
int N;
for (N =0;N<18;N++)
{
int temp = DateNow;
printf("%d ", DateNow);
DateNow=DateOld +temp;
DateOld=temp;
}

8. c語言fibonacci數列問題

該問題屬於fibonacci取余的問題

解法如下:

需要注意的是:

1:這道題目,建議用臨時變數,沒必要用數組存數列,因為題目不關心數列,只關心取余,也無法知道要設置多大的數組合適,設置小了,數組溢出,設置大了,影響內存(特別是像這樣定義了這樣的大數組data[20000],在之後的找工作,面試是很被動,很容易被刷);

2:為了防止n太大,f(n)的值導致int存不下,可分步取余(c=(a+b)%10007),然後再加,再取余;

f(n-1)=( f(n-2)+f(n-3) )%10007

f(n-2)=( f(n-3)+f(n-4) )%10007

f(n)=( f(n-1)+f(n-2) )%10007

9. C語言 斐波那契數列怎麼寫

#include<stdio.h>
intfei(intindex)//數組實現
{
if(index<1)
{
return-1;
}
if(index<3)
{
return1;
}
int*a=newint[index];
a[0]=a[1]=1;
for(inti=2;i<index;i++)
a[i]=a[i-1]+a[i-2];
intm=a[index-1];
deletea;//釋放內存空間
returnm;
}
inttou(inti)//取第一位
{
while(i>9)
i/=10;
returni;
}
intmain()
{
intn,a[100];
scanf("%d",&n);
for(inti=0;i<n;i++)
scanf("%d",&a[i]);
for(inti=0;i<n;i++)
{
if(fei(a[i])>9)
printf("%d%d ",tou(fei(a[i])),fei(a[i])%10);
else
printf("%d ",fei(a[i]));
}
}

熱點內容
釘鼎伺服器出口ip 發布:2025-05-15 07:13:08 瀏覽:279
移動硬碟和光碟哪個存儲時間長 發布:2025-05-15 07:04:25 瀏覽:489
壓縮一定 發布:2025-05-15 06:57:30 瀏覽:289
進棧演算法 發布:2025-05-15 06:56:02 瀏覽:215
安卓和緩存 發布:2025-05-15 06:56:02 瀏覽:428
筆記本電腦台式伺服器 發布:2025-05-15 06:40:41 瀏覽:109
4k無壓縮 發布:2025-05-15 06:02:54 瀏覽:75
hp存儲6350 發布:2025-05-15 05:40:41 瀏覽:233
怎麼更改電腦默認緩存位置 發布:2025-05-15 05:39:01 瀏覽:877
安卓qq公孫離在哪個戰區戰力最低 發布:2025-05-15 05:38:58 瀏覽:494