❶ c語言算斐波那契數列
數字
溢出~~。很明顯的問題,你用高精度做吧,用
字元數組
模擬數字。
❷ C語言編程:斐波那契數列
if的判斷條件裡面,正確的應該是 n==1 和 n==2。
如果寫成n=1的話,就變成了將n賦值為1,並且這個算式會返回1,非0即為true。
這個判斷條件會恆為真,而且n的值也會被改變。
❸ 求用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語言程序計算斐波那契數列
main()
{
int a=0;
int b=1;
int c,i;
int s=a+b;
for(i=3;i<=21;i++)
{
c=a+b;
s=s+c;
a=b;
b=c;
}
printf("%d",s);
}
❺ 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語言 數組 斐波那契數列
#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語言
#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語言 斐波那契數列怎麼寫
#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]));
}
}
❾ C語言斐波那契數列
利用斐波拉其數列計算公式計算:
(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}