Ⅰ 斐波那契数列 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 "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语言如何用数组求Fibonacci数列的前N项和
1、首先打开vc,点击文件、新建;
Ⅳ 关于C实现斐波那契数列
1) 你提到书中的一个方法是普通的递归函数,思路非常清晰:F(n)=F(n-1)+F(n-2) when N>=2F(n)=1 when N=0 or N=12) 而你使用的则是递推的方式:o是偶数项,b是奇数项,看下面的运行过程初始化o=b=1 // f[0]=f[1]=1j=2的时候,执行for循环体,o+=b; // o=1+1=2 ~= f(2)b+=o; // b=2+1=3 ~= f(3)然后j+=2,此时j就到4了,因为f(2),f(3)是一起计算出来的以下继续计算f(4),f(5)……
Ⅳ C语言斐波那契数列
利用斐波拉其数列计算公式计算:
(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}
Ⅵ C语言 斐波那契函数
斐波那契数列问题,做为学习一般都用递归来写,默认情况下都设置程序运行时默认的栈空间大小为1MB,下面是递归调用的实例。
#include<stdio.h>
intfibo(inta)
{
if(a<=2)
return1;
else
returnfibo(a-1)+fibo(a-2);
}
intmain()
{
inta;
while(scanf("%d",&a)!=EOF)
printf("%d ",fibo(a));
return0;
}
Ⅶ 求用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语言编程:斐波那契数列
if的判断条件里面,正确的应该是 n==1 和 n==2。
如果写成n=1的话,就变成了将n赋值为1,并且这个算式会返回1,非0即为true。
这个判断条件会恒为真,而且n的值也会被改变。
Ⅸ 用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>
long func(long n)
{
if(n==0||n==1)return n;
else return func(n-1)+func(n-2);
}
main()
{
long n;
printf("please input n:");
scanf("%ld",&n);
printf("the result is %ld",func(n));
}