double x;
while(x <= 5){
x+=0.05;
printf("%.2lf %.1lf\n",x,x);
}
可以自己測看看他各種奇怪的行為
想知道為什麼的話自己Google"浮點數誤差"
總之這題就用整數去做處理就好惹
也就是各種"取除數"和"取餘數"
題目要小數點下兩位(第三位四捨五入)->好像沒說清楚
偷偷告訴你有一個測資是:20000 21797
double x;
while(x <= 5){
x+=0.05;
printf("%.2lf %.1lf\n",x,x);
}
可以自己測看看他各種奇怪的行為
想知道為什麼的話自己Google"浮點數誤差"
總之這題就用整數去做處理就好惹
也就是各種"取除數"和"取餘數"
題目要小數點下兩位(第三位四捨五入)->好像沒說清楚
偷偷告訴你有一個測資是:20000 21797
我也是在那個測資卡的,還特別改一下程式碼讓它特地輸出那一題的題目
然後才知道是浮點數精準度的問題...
之後就先把a.bcd~%先轉換成abcd.~~ 進行除數與餘數後就解開了...
double x;
while(x <= 5){
x+=0.05;
printf("%.2lf %.1lf\n",x,x);
}
可以自己測看看他各種奇怪的行為
想知道為什麼的話自己Google"浮點數誤差"
總之這題就用整數去做處理就好惹
也就是各種"取除數"和"取餘數"
題目要小數點下兩位(第三位四捨五入)->好像沒說清楚
偷偷告訴你有一個測資是:20000 21797
zerojudge的浮點數採用一個叫"奇進偶捨"規則
見https://zh.wikipedia.org/wiki/%E5%A5%87%E9%80%B2%E5%81%B6%E6%8D%A8