※ 引述《timrau (誰要玩netset?)》之銘言:
: ※ 引述《Keven (Keven)》之銘言:
: : 我用int時可以印出最大的Fibonacci number
: : 可是使用double時卻跑不出來
: : 以下是我的程式碼
: : for( double Counter=2; Counter<=99999; Counter++ ){
: : Fib = X + Y;
: : if( Fib <=0 )
: : break;
: : X = Y;
: : Y = Fib;
: : }
: : cout << "The largest double Fibonacci number that can be printed is " << Y <
: : < endl;
: : 有那位天才的同學可以告訴我錯在那嗎?
: 前面先#include <cfloat>
: 再把if(Fib<=0)
: 改成if(Fib>=DBL_MAX)
: 這樣應該就行了
可是我是以有沒有超過double的精確度來判斷有沒有溢位~"~
這樣應該沒關係吧...
例如35353535他如果儲存成3.53535*10^7那他前面那個數的地方就已經溢位啦...
就像是計算機位數不夠一樣...
--
誠如你所見....
作為一個廢渣....
......被丟在垃圾場也是很正常的吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.240.157