[心得] 寫程式時,不可偷懶呀!!!
我是懶人
故我在寫 fac e e^x那題時
直接設一個 unsigned long fac(int y)
用這個去跑階層.....
(這樣到20!都可以用"非科學計號"表示)
但當用fac()去做e 和e^x時
就導致"因為long在分母,所以正小數變小有一定的線制"
換句話說 1/(20!) 應該是4.1 x 10^(-19)
但因為偷懶,變成了1/(20!) 只有約10^(-10).....
所以5^20/20! 就一定會爆表(大很多 ><)
故數據就會不正常....
--------------------------------------------------------------------
故事還沒結束...............
--------------------------------------------------------------------
後來我發現 如果把fac改成double
e^x就會很正常........
但聰明的各位一定知道......
這樣不要說20! 在做10!就得換成科學計號了
小朋友,
這個故事告訴我們:
魚 與 熊掌 難得兼呀!
要做個認真的 乖小孩唷!!
冏冏冏冏冏冏
冏 冏
冏 冏
冏冏冏冏冏冏
--
◢█◣◣ ██ ██
◢◤◤◥◣◣██◢◤◢██◣◣██
██ ███◢◤◤██ ◥██◢█◣◣◢██◣◣ ██ █◢█◣◣
███████◤◤ ◥██◣◣█◤◤████ ██ ██ █◤◤██ꄊ ██ ████ ◣◣ ████ ████ ██ ██ ██ ██
██ ████ ◥██◤◤██ █████◥◣◣██ ██ ██
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.212.172
推
10/25 22:38, , 1F
10/25 22:38, 1F
→
10/25 22:39, , 2F
10/25 22:39, 2F
→
10/25 22:49, , 3F
10/25 22:49, 3F
推
10/25 22:59, , 4F
10/25 22:59, 4F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):