C++编程:求菲波那契数列

来源:百度知道 编辑:UC知道 时间:2024/06/24 11:25:02

在国家计算机等级考试中的三级网络技术机试的考试套题中的第十道题目就是这个题,比较简单~去年我机试时刚好抽的这个题,5分钟就出来了

主函数中调用以下函数
int fun(int n)
{
if (n<=2)
return 1;
return fun(n-1)+fun(n-2);
}

高手

#include<iostream>
using namespace std;
main ()
{
int n,i,a,b,c;
cout<<"输入数列个数:";
cin>>n;
a=b=1;
cout<<a;
for (i=1;i<n;i++)
{
c=a+b;
b=a;
a=c;
cout<<a<<' ';
}
}
/*一楼的,还高手,用递归不太占内存了,而且用时太长,才40就5秒多了,50就至少1分钟了,我的只要4*40/1000000000秒就够了*/

我得最简单
#include <stdio.h>
#include <conio.h>
//使用公式:第n项=第(n-1)项+第(n-2)项
void main()
{
unsigned int n,a=1,b=1;
for (scanf("%d", &n);n>2;n--) a+=b^=a^=b^=a;
printf("%d\n", a);
getch();
}