一、
#include <iostream>
using namespace std;
int fibonacci (int n)//返回第n项fibonacci值.
{
int last_1 = 0 ,last_2 = 1 , temp;
if(n == 0 || n == 1)
return 0;
for(n -= 2 ;n > 0 ;n--){
temp = last_2;
last_2 += last_1;
last_1 = temp;
}
return last_2;
}
int main()
{
for(int k = 1; k<10; k++)
cout << fibonacci(k) << endl;
return 0;
}
二、
//输出前n个fibonacci序列的值及它们的和(fibonacci序列为1,1,2,3,...)
#include <iostream>
using namespace std;
int fibonacci(int n)//0 <= n <= 1000
{
int fir = 0,sec = 1,temp,i = 1;
if(n == 0)
return fir;
while(i++ != n){
temp = sec;
sec += fir;
fir = temp;
}
return sec;
}
int main()
{
int n,sum = 0,i = 0;
while(cin >> n){
while (i++ != n)
{
cout << fibonacci(i) << '\t';
sum += fibonacci(i);
}
cout << "sum: " << sum << endl;
sum = i = 0;
}
return 0;
}