伊莉部落格、伊莉交友、伊莉聊天、伊莉相簿
C++ 寫程式
C++程式
Fibonacci 數列可定義如下:
F0= 0,
F1= 1,
Fn = Fn-1 + Fn-2, n = 2, 3, 4 ….
也就是說每個數值都是它前兩個數值之和,Fibonacci 數
列的前幾個數值分別是0, 1, 1, 2, 3, 5, 和8.
寫一個程式,請使用者由鍵盤輸入一個整數n (0 ≤n ≤
46),程式由螢幕輸出對應的Fibonacci 數值Fn。
Sample Dialogue
This program will show the nth Fibonacci number!
Please input an integer (0-46): 0
F0 = 0
Again? (y/n): y
Please input an integer (0-46): 2
F2 = 1
Again? (y/n): y
Please input an integer (0-46): 45
F45 = 1134903170
Again? (y/n): y
Please input an integer (0-46): 48
You input an incorrect number!
Please input an integer (0-46): -20
You input an incorrect number!
Please input an integer (0-46): 25
F25 = 75025
Again? (y/n): n
還要修改什麼?或要怎麼寫?
#include <iostream>
using namespace std;
int main()
{
int i,n;
bool flag;
int f0,f1,fn;
char ans;
cout <<"This program will show the nth Fibonacci number!\n";
do
{
do
{
cout <<please input an integer (0-46):";
cin>>n,
flag = true;
if(n >= 0 && n <= 46)
flag = false;
else
cout<<"You input an incorrect number!"<< endl;
}while (flag);
f0=0;
f1=1;
if(n==0)
cout <<'F' << n <<"="<<f1<<endl;
else
{
for(i=2;i<=n;++i)
{
fn=f0+f1;
f0=f1;
f1=fn;
}
cout <<'F'<<n<<"="<fn<<endl;
}
cout<<"Again?(y/n):";
cin >>ans;
}while (ans =='y' || ans =='Y');
return 0;
}
|