当前位置:首页 » 编程语言 » c语言fibonacci数列

c语言fibonacci数列

发布时间: 2022-04-30 01:13:38

1. 用c语言编写Fibonacci数列

intfib[20]={0,0,1},i;
for(i=3;i<19;i++){
fib[i]=fib[i-1]+fib[i-2]+fib[i-3];
}

2. c语言斐波那契数列 Fibonacci数列

#include<stdio.h>
long int Fib(int N);
void main()
{
int i;
for (i=1;i<=80;i++)
{
printf("%d \t%10ld\t\n",i,Fib(i));
}
}
long int Fib(int N)
{
if (N<=1)
{
return 1;
}
else
{
returnFib(N-1)+Fib(N-2);
}
}

3. 如何使用C语言输出Fibonacci数列

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int limit = 10; // 输出前10个fibonacci数
int pre1 = 1; // 当前计算值前面第二个fibonacci数
int pre2 = 1; // 当前计算值前面一个fibonacci数
int res; // 当前计算值
for (i; i < limit; i++)
{
if (i == 0 || i == 1)
{
// 前两个fibonacci数是1
printf("1 ");
}
else
{
res = pre1 + pre2;
printf("%d ", res);
pre1 = pre2;
pre2 = res;
}
}
return 0;
}

4. c语言 用函数编写Fibonacci数列问题

#include<stdio.h>
intfib(inta);
main()
{
intn;
scanf("%d",&n);
fib(n);
}
intfib(inta)
{
intb[100];
inti;
b[0]=1;
b[1]=1;
for(i=2;i<=a-1;i++)
b[i]=b[i-1]+b[i-2];
for(i=0;i<a;i++)//b[a]没有被赋值,不能输出它的值
{
printf("%d ",b[i]);
if((i%4)==3)//每四个换行,应该是取余为3的时候打印换行符
printf(" ");//打印换行符应该在for循环里面
}
returnb[a];
}

5. 求用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);
}

6. C语言,fibonacci数列

#include<stdio.h>
voidmain()
{
inti,a[15]={1,1};
for(i=2;i<15;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<15;i++)
printf("%-4d",a[i]);
}

7. C语言 计算fibonacci数列

就是计算前两个数的和,输出为第三个数,搞清楚要求再来编程即可。只是打印输出,不需要保留就整形即可,要保留使用,用数组实现。
int DateOld =0;
int DateNow=1;
int N;
for (N =0;N<18;N++)
{
int temp = DateNow;
printf("%d ", DateNow);
DateNow=DateOld +temp;
DateOld=temp;
}

8. c语言fibonacci数列问题

该问题属于fibonacci取余的问题

解法如下:

需要注意的是:

1:这道题目,建议用临时变量,没必要用数组存数列,因为题目不关心数列,只关心取余,也无法知道要设置多大的数组合适,设置小了,数组溢出,设置大了,影响内存(特别是像这样定义了这样的大数组data[20000],在之后的找工作,面试是很被动,很容易被刷);

2:为了防止n太大,f(n)的值导致int存不下,可分步取余(c=(a+b)%10007),然后再加,再取余;

f(n-1)=( f(n-2)+f(n-3) )%10007

f(n-2)=( f(n-3)+f(n-4) )%10007

f(n)=( f(n-1)+f(n-2) )%10007

9. 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]));
}
}

热点内容
我的世界哪五个服务器被炸了 发布:2025-05-15 10:36:16 浏览:993
ehcache存储对象 发布:2025-05-15 10:35:31 浏览:527
搭建虚拟电脑的服务器 发布:2025-05-15 10:29:31 浏览:269
湖人双核配置哪个最好 发布:2025-05-15 10:09:48 浏览:979
手机热点密码怎么查看 发布:2025-05-15 09:54:47 浏览:108
生意发力云存储 发布:2025-05-15 09:54:45 浏览:616
编写一个shell脚本添加用户 发布:2025-05-15 09:54:43 浏览:505
数据库查看表命令 发布:2025-05-15 09:52:27 浏览:914
p30是不是自带方舟编译器 发布:2025-05-15 09:51:48 浏览:599
追击世界房间密码是多少 发布:2025-05-15 09:51:46 浏览:995