作者sb0917 (QQ)
看板NTUBIME101HW
標題[C++] 費事數列-loop
時間Thu Oct 23 20:39:15 2008
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double f1=0,f2=1,temp;
for(int i=1;i<=100;i++)
{
if(i == 1)
cout << "f(" << i << ") = " << setprecision(0) << fixed
<< f1 << endl;
else if(i == 2)
cout << "f(" << i << ") = " << setprecision(0) << fixed
<< f2 << endl;
else
{
cout << "f(" << i << ") = " << setprecision(0) << fixed
<< f1 + f2 << endl;
temp = f2;
f2 = f1 + f2;
f1 = temp;
}
}
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.232.115.60
→ sb0917:84項以後就都不準了... 10/23 20:40
推 typenephew:上課五分鐘就寫完了 尚軒兄真神人也 10/23 20:52
→ sb0917:有沒有人知道要怎樣用更簡短的方式讓他不顯示小數點以下阿? 10/23 20:54
→ ck940560:嘿~我上課的時候竟然沒想到可以用i解決前兩項... 10/23 21:50
→ ck940560: if 10/23 21:50
→ sb0917:其實如果不管概念的話,前面兩個if可以改成一個... 10/24 00:57
推 zumwohl:為什麼這樣做84項以後會不準? 10/26 17:11
→ sb0917:因為浮點數位數不夠了,後面會全部都是零 10/26 17:27
推 Ketr:cout加上unsigned增加記載空間,不知道會不會多一兩項? 10/26 18:09
→ sb0917:不,浮點數能算到幾位是固定的,這也是上次出bonus的原因 10/26 18:32
→ ck940560:unsign也頂多把能算的數字變兩倍,沒辦法進位 10/26 19:33