㈠ c语言中,求Fibonacci数列前40个数的问题有点不明白
你现在想象有俩盒子f1,f2,首先俩盒子里装得是第一个数和第二个数
printf("%12ld
%12ld",f1,f2);//首先打印第一个和第二个数
f1=f1+f2;/*然后把第一盒子里的数改为数列的第三个数(第一个数与第二个数的和)*/
f2=f2+f1;/*再把第二个盒子里的数改为第四个数(第二个数与第三个数的和因为你第一个盒子里装的是数列第三个数)*/
i<=20说明一共循环二十次,每次打印俩数,一共打印40个数。
㈡ C语言的 求fibonacci数列前四十项和
#include<stdio.h>
#define N 40
int main()
{
int f[N+1]={0};
int i,sum=0;
f[1]=f[2]=1;
for( i=3; i<=N; i++)
f[i] = f[i-1]+f[i-2];
for( i=1; i<=N; i++){
//printf( "第%d项:\t%d\n", i, f[i]);
sum += f[i];
}
printf( "前%d项和:\t%d\n", N, sum);
//system("pause");
return 0;
}
㈢ 求用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问题,求fibonacci数列前40个数的疑问
你想问什么?这个例子里得F[0]和F[1]的值都是1,输出的是从F[0]……F[19]共前20个fibonacci数列的数,分别是1,1,2,3,5,8,13,21,34……
不是,你要把数组搞清楚,数组的第一个是F[0]而不是F[1]。而且本例最先赋值的只是F[0]和F[1]两个,值都是1。后面的F[i]都是通过循环算出来的fibonacci数列的数。
不是只有f[0]、f[1]在循环,循环的是f[i]=f[i-2]+f[i-1] 。而是最先只给f[0]、f[1]这两个赋了值,后面的都是循环中算出来的。
㈤ 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语言!!!定义数组完成,按每行输出5个数的形式输出fibonacci数列的前40项
注意:40项斐波那契数列,数字将会非常大,int类型变量已无法存储!代码中使用到了64位无符号整型数unsigned __int64,以便满足题目要求且可继续扩展(比如输出50项)。
#include<stdio.h>
#defineMAX40/*费波那契数列项数上限*/
voidfibonacci(unsigned__int64f[],intn){/*生成n项费波那契数列,n=0为起始*/
inti;
f[0]=0;/*F0=0*/
f[1]=1;/*F1=1*/
for(i=2;i<=n;i++)/*Fn=Fn-1+Fn-2(n>=2)*/
f[i]=f[i-1]+f[i-2];
}
intmain(void){
unsigned__int64f[MAX];
inti;
fibonacci(f,MAX);
printf("前%d项斐波那契数列(自F0起): ");
for(i=0;i<=MAX;i++){
printf("%I64u ",f[i]);
if((i+1)%5==0)/*5个数换行*/
printf(" ");
}
printf(" ");
getch();/*屏幕暂留*/
return0;
}
运行结果
如有问题,可点击头像联系我~~
㈦ 求Fibonacci数列前40个数 判断m是否为素数 使用c语言!!
斐波那契
#include<stdio.h>
intfib(intn)
{
if(n==1||n==2)
return1;
returnfib(n-1)+fib(n-2);
}
intmain()
{
intn=40;
printf("%d ",fib(n));
return0;
}
素数
#include<stdio.h>
voidmain()
{
inti,n;
printf("请输入n:");
scanf("%d",&n);
i=2;
while(i<n)
{
if(n%i==0)
break;
i++;
}
if(i==n)
printf("%d是素数 ",n);
else
printf("%d不是素数 ",n);
}
㈧ 哪位帮忙跟我解释一下用C语言for循环求解Fibonacci数列前40项和的思路啊~~
假设存在f[40]中
先初始化前两项
f[0]
=
f[1]
=
1;
然后for循环,f[i]
=
f[i-1]
+
f[i-2];
i从2开始,即第三项
for
(i
=
2;
i
<
40;
i
++)
f[i]
=
f[i-1]
+
f[i-2];
就可以了
㈨ (1) 求Fibonacci数列:1,1,2,3,5,8,…的前40个数。 C语言,用for循环
1、首先打开编辑代码的软件。再定义一个int类型的变量a。
6、在while语句中,写入代码。再用break就可以结束循环。
㈩ 用递归法求斐波那契数列前40项。
用递归法求斐波那契数列前40项方法为:
1、首先,对非法下标进行判断。
注意事项:
斐波那契数列在自然科学的其他分支,有许多应用。例如,树木的生长,由于新生的枝条,往往需要一段“休息”时间,供自身生长,而后才能萌发新枝。