当前位置:首页 » 编程语言 » 斐波拉契数列c语言

斐波拉契数列c语言

发布时间: 2022-05-06 11:36:44

‘壹’ c语言斐波那契数列

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

‘贰’ 斐波那契数列 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语言中,如何利用数组求斐波那契数列的前20项

在c语言中,以vc为例利用数组求斐波那契数列的前20项的具体步骤如下:

1、首先,打开vc;

‘肆’ 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;

}

(4)斐波拉契数列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语言

你公式计算的公式不对 如果按照这个公式计算,只有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>
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语言 斐波那契数列怎么写

#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语言 数组 斐波那契数列

#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语言程序计算斐波那契数列

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语言表达斐波那契数列

#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);
}

热点内容
如何查看radmin密码 发布:2024-05-10 23:52:03 浏览:798
用云服务器搭建外网教学 发布:2024-05-10 23:31:10 浏览:386
edimax打印服务器设置ip 发布:2024-05-10 23:29:51 浏览:370
联通的网关初始密码是多少 发布:2024-05-10 23:16:57 浏览:719
哪个手机品牌综合配置好 发布:2024-05-10 22:54:45 浏览:882
怎么解绑手机号微信账号密码 发布:2024-05-10 22:49:42 浏览:719
龙芯机器可以cef编译吗 发布:2024-05-10 22:40:48 浏览:157
犀牛如何编程 发布:2024-05-10 22:35:54 浏览:306
php类递归 发布:2024-05-10 22:33:55 浏览:6
android连接ubuntu 发布:2024-05-10 22:30:15 浏览:406