當前位置:首頁 » 編程語言 » 斐波拉切數列c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

斐波拉切數列c語言

發布時間: 2022-01-13 16:11:58

c語言算斐波那契數列

數字
溢出~~。很明顯的問題,你用高精度做吧,用
字元數組
模擬數字。

⑵ 求用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語言斐波那契數列

利用斐波拉其數列計算公式計算:
(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}

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

#include<stdio.h>

int main(void)

{ int i,n,a[50]={1,1};

scanf("%d",&n);

for(i=2; i<n; i++)

a[i]=a[i-1]+a[i-2];

for(i=0;i<n;i++)

printf("%d ",a[i]);

return 0;

}

⑸ 斐波那契數列:c語言

你公式計算的公式不對 如果按照這個公式計算,只有0 和1的時候是一樣的 剩下的都不一樣
程序這樣做
#include <stdio.h>
#include <math.h>
int f1(int i)
{
if(i == 0) return 0;
if(i == 1) return 1;
return f1(i - 1) + f1(i - 2);
}

int f2(int i)
{
#if 1
int ret;
double c;

c = (1.0+sqrt(5)/2.0);
ret =(int)(pow(c,i)/sqrt(5)+0.5);
#else
int ret;
double c, c1;

c = (1.0+sqrt(5))/2.0;
c1 = (1.0-sqrt(5))/2.0;
ret =(int)((pow(c,i) - pow(c1, i))/sqrt(5)+0.5);

#endif
return ret;
}

main()
{
int i = 0;
int r1, r2;
while(1)
{
r1 = f1(i);
r2 = f2(i);
if(r1 != r2)
printf("diff at %d, %d %d\n", i, r1, r2);
i ++;
}
}

在f2裡面有一個#if 1 這時是用你的公式
改成#if 0後用的是正確的公式

⑹ 斐波那契數列 c語言


#include <stdio.h>

int fn(int a){

if (a==1) return 1;

else if (a==2) return 2;

else return fn(a-1)+fn(a-2);

}


void main (){

for (int i=1;i<=50;i++)

printf("%d::%d ",i,fn(i));

}

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

⑻ C語言 數組 斐波那契數列

#include "stdafx.h" //這是 VS 預編譯頭。其他系統刪除。
#include<stdio.h>
#include<stdlib.h> //使用 system("pause"); 時需要。
//MS 否決了 scanf 等函數,加上下句,仍然可用。其他系統刪除。
#pragma warning(disable:4996)

//問題:斐波那契數列的定義為: F1=1,F2=1,F(n)=F(n-2)+F(n-1)
int Fibonacci(int n)
{
if (n == 1)
return 1;
if (n == 2)
return 1;
return Fibonacci(n - 2, f1, f2) + Fibonacci(n - 1, f1, f2);
}

// VS 標准主函數聲明,其他系統請根據系統更改。
int _tmain(int argc, _TCHAR* argv[])
{
int i, k, d[40];
scanf("%d", &k);
for (i = 0; i < k; i++)
{
scanf("%d", &d[i]);
}
for (i = 0; i < k; i++)
{
printf("%d\n", Fibonacci(d[i]));
}

system("pause"); //防止窗口一閃而過
return 0;
}

⑼ C語言編程:斐波那契數列

if的判斷條件裡面,正確的應該是
n==1

n==2。
如果寫成n=1的話,就變成了將n賦值為1,並且這個算式會返回1,非0即為true。
這個判斷條件會恆為真,而且n的值也會被改變。