㈠ 斐波那契數列 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>
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語言編程:寫出斐波那契數列的前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;
}
(3)區間內斐波那契數列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語言中如何表達
斐波那契數列在數學上的通項公式為
An=An-1+An-2
在C語言中,根據演算法實現不同,可以有很多種表達方式。以計算斐波那契第N項值為例,說明如下。
一、以數組方式實現:
intfn(intn)
{
int*a,i,r;
a=(int*)malloc(sizeof(int)*n);//分配動態數組。
a[0]=1;
a[1]=1;//初始化前兩項。
for(i=2;i<n;i++)
{
a[i]=a[i-1]+a[i-2];//這里就是通項公式的一種實現形式。
}
r=a[n-1];//保存結果
free(a);//釋放動態數組
returnr;//返回結果值。
}
二、以遞歸函數形式:
intfn(intn)
{
if(n==0||n==1)return1;//前兩項固定值。
returnfn(n-1)+fn(n-2);//通過遞歸調用實現通項公式。
}
三、注意事項:
1、方法有很多,不可能窮舉完成,寫代碼時要靈活使用。
2、例子中以int保存,限於整型範圍,計算很大值時會出現溢出。 根據實際需要選擇類型。
㈤ C語言 斐波那契數列怎麼寫
#
include
int
main
(void)
{
int
a,
b,
c,
d,
n;
printf("請輸入您需要查找的序列號:
");
scanf("%d",
&n);
//
n
為要查找的序列;
d
用來循環計次;
c
用來求n項的值;
a
=
0;
//第零列
b
=
1;
//第一列
if
(n
==
1)
printf("序列號1值為:
1\n");
else
if
(n
==
2)
printf("序列號2值為:
1\n");
else
{
for
(d=2;
d
評論
0
0
0
載入更多
㈥ 用C語言編程 斐波那契數列:1,1,2,3,5,8,13…,輸出前13項,每行輸出5個數。
public class FeiBoMethod {
// 使用遞歸方法
private static int getSum(int num) {
if (num== 1 || num== 2)
return 1;
else
return getSum(num- 1) + getFibo(num- 2);
}
public static void main(String[] args) {
System.out.println("斐波那契數列的前13項為:");
for (int i = 1; i <= 13; i++) {
System.out.print(getSum(i) + " ");
if (i % 5 == 0)
System.out.println();
}
}
}
(6)區間內斐波那契數列c語言擴展閱讀:
使用數組的方式實現
publicclassFeiBoMethod{
//定義數組方法
publicstaticvoidmain(String[]args){
intarr[]=newint[13];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契數列的前13項如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+"\t");
}
}
}
㈦ C語言斐波那契數列
利用斐波拉其數列計算公式計算:
(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}
㈧ 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);
}