求C语言高手帮忙做一道编程题,谢谢~
【问题描述】输出斐波那契(Fibonacci)序列的前15项:1,1,2,3,5,8,13,21,34,55,89,144,233,377,610斐波那契(Fibonac...
【问题描述】输出斐波那契(Fibonacci)序列的前15项:
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610
斐波那契(Fibonacci)序列第1、第2项为1,后面的任意一项都是其前两项之和。
【样例输出】
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
【样例说明】
样例输出中,每个数字后面有3个空格。 展开
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610
斐波那契(Fibonacci)序列第1、第2项为1,后面的任意一项都是其前两项之和。
【样例输出】
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610
【样例说明】
样例输出中,每个数字后面有3个空格。 展开
5个回答
展开全部
Fibonacci数列问题
无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为
F(n)=1 ...........(n=1或n=2)
F(n)=F(n-1)+F(n-2).....(n>2)
现要你来求第n个斐波纳奇数。(第1个、第二个都为1)
**************************
***************************
#include <stdio.h>
int main()
{
int a,b,c,n,m;
scanf("%d",&m);
while(m--) //有m组数可以输入
{
scanf("%d",&n);
if(n==1)
c=1;
a=0;
b=1;
if(n>=2)
{
c=a+b;
a=b;
b=c;
n--;
}
printf("%d\t\t\t",c);
printf("\n");
}
return 0;
}
无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为
F(n)=1 ...........(n=1或n=2)
F(n)=F(n-1)+F(n-2).....(n>2)
现要你来求第n个斐波纳奇数。(第1个、第二个都为1)
**************************
***************************
#include <stdio.h>
int main()
{
int a,b,c,n,m;
scanf("%d",&m);
while(m--) //有m组数可以输入
{
scanf("%d",&n);
if(n==1)
c=1;
a=0;
b=1;
if(n>=2)
{
c=a+b;
a=b;
b=c;
n--;
}
printf("%d\t\t\t",c);
printf("\n");
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
int num1, num2, t;
num1=num2=1;
for(int i=0; i < 15; i++)
{
printf("%d ", num1);
t=num1;
num1=num2;
num2+=t;
}
}
void main()
{
int num1, num2, t;
num1=num2=1;
for(int i=0; i < 15; i++)
{
printf("%d ", num1);
t=num1;
num1=num2;
num2+=t;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以前写的!!你编译下!!
#include <stdio.h>
/*for exit*/
#include <stdlib.h>
int func(int num);
int func(int num)
{
int i,a,b,c;
if(num<0)
{
printf("is error !\n");
exit(0);
}
if(num==0 || num==1)
return 1;
a=1,b=1,c=a+b;
for(i=2;i<num;i++)
{
a=b;
b=c;
c=a+b;
}
return c;
}
int main(void)
{
int num,tmp;
for(num=0;num<=40;num++)
{
tmp=func(num);
printf("%d ",tmp);
}
return 0;
}
/*
int func(int num)
{
int va1,va2;
if(num==0 || num==1) return 1;
va1 = func(num-1);
va2 = func(num-2);
return va1+va2;
}
*/
#include <stdio.h>
/*for exit*/
#include <stdlib.h>
int func(int num);
int func(int num)
{
int i,a,b,c;
if(num<0)
{
printf("is error !\n");
exit(0);
}
if(num==0 || num==1)
return 1;
a=1,b=1,c=a+b;
for(i=2;i<num;i++)
{
a=b;
b=c;
c=a+b;
}
return c;
}
int main(void)
{
int num,tmp;
for(num=0;num<=40;num++)
{
tmp=func(num);
printf("%d ",tmp);
}
return 0;
}
/*
int func(int num)
{
int va1,va2;
if(num==0 || num==1) return 1;
va1 = func(num-1);
va2 = func(num-2);
return va1+va2;
}
*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>//不知道你学没学过数组,这是用数组做的
void main()
{
int a[15],i;
a[0]=a[1]=1;
for(i=2;i<15;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<15;i++)
printf("%d ",a[i]);
}
#include<stdio.h>//这是用普通方法做的
void main()
{
int f1,f2,i;
f1=f2=1;
for(i=0;i<=7;i++)
{
printf("%d %d ",f1,f2);
f1=f1+f2;
f2=f1+f2;
}
}
void main()
{
int a[15],i;
a[0]=a[1]=1;
for(i=2;i<15;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<15;i++)
printf("%d ",a[i]);
}
#include<stdio.h>//这是用普通方法做的
void main()
{
int f1,f2,i;
f1=f2=1;
for(i=0;i<=7;i++)
{
printf("%d %d ",f1,f2);
f1=f1+f2;
f2=f1+f2;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-05-01
展开全部
自己上网查:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询