#5210:


abc840527 (abc840527)

學校 : 臺北市立第一女子高級中學
編號 : 18535
來源 : [98.35.188.253]
最後登入時間 :
2024-10-13 06:04:23
d561. 被秒殺的四捨五入 -- jack1 | From: [122.146.53.164] | 發表日期 : 2011-06-18 19:08

0.4945進位後是0.49還是0.50??

是否有一些測資怪怪的

 
#7252: Re:進位


Hawaii (xiplus)

學校 : 不指定學校
編號 : 26682
來源 : [1.162.174.116]
最後登入時間 :
2024-11-23 16:27:06
d561. 被秒殺的四捨五入 -- jack1 | From: [111.255.51.82] | 發表日期 : 2012-12-02 16:02

0.4945進位後是0.49還是0.50??

是否有一些測資怪怪的


說不定他是這樣

0.4945->0.495->0.50 

 
#7258: Re:進位


akira0331 (小迷糊)

學校 : 不指定學校
編號 : 26613
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
d561. 被秒殺的四捨五入 -- jack1 | From: [203.70.194.240] | 發表日期 : 2012-12-03 10:48

0.4945進位後是0.49還是0.50??

是否有一些測資怪怪的


說不定他是這樣

0.4945->0.495->0.50 



按照題目,輸出四捨五入至小數點以下第二位的結果,就是判斷小數點以下第三位

所以 0.4945答案-> 0.49

 
#7296: Re:進位


EriCSN (EriCSN)

學校 : 國立嘉義大學
編號 : 11613
來源 : [36.231.122.61]
最後登入時間 :
2016-02-22 19:16:06
d561. 被秒殺的四捨五入 -- jack1 | From: [140.130.208.102] | 發表日期 : 2012-12-15 23:15

0.4945進位後是0.49還是0.50??

是否有一些測資怪怪的


說不定他是這樣

0.4945->0.495->0.50 



按照題目,輸出四捨五入至小數點以下第二位的結果,就是判斷小數點以下第三位

所以 0.4945答案-> 0.49

第 1 測資點(70%): AC (4ms, 520KB)
通過檢測
第 2 測資點(15%): AC (4ms, 520KB)
通過檢測
第 3 測資點(15%): WA (line:1)
答案不正確
您的答案為: 0.50 正確答案為: 0.49 
實在無法了...
都已經用最保守的方式去算了,自己測試 0.4949 也是正確的,渭河上傳後會進位呢? 
 
 
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
double n;
while(cin >> n)
{
bool isNeg = n < 0;
n = fabs(n);
n = int(floor(n * 100 + 0.5) ) / 100.0;
cout.precision(2);
cout.setf(ios::fixed);
if(isNeg && n != 0)
cout << '-';
cout << n << endl;
}
return 0;
}

 
 

 
#7307: Re:進位


akira0331 (小迷糊)

學校 : 不指定學校
編號 : 26613
來源 : [203.70.194.240]
最後登入時間 :
2013-07-29 09:30:29
d561. 被秒殺的四捨五入 -- jack1 | From: [203.70.194.240] | 發表日期 : 2012-12-17 10:51

0.4945進位後是0.49還是0.50??

是否有一些測資怪怪的


說不定他是這樣

0.4945->0.495->0.50 



按照題目,輸出四捨五入至小數點以下第二位的結果,就是判斷小數點以下第三位

所以 0.4945答案-> 0.49

第 1 測資點(70%): AC (4ms, 520KB)
通過檢測
第 2 測資點(15%): AC (4ms, 520KB)
通過檢測
第 3 測資點(15%): WA (line:1)
答案不正確
您的答案為: 0.50 正確答案為: 0.49 
實在無法了...
都已經用最保守的方式去算了,自己測試 0.4949 也是正確的,渭河上傳後會進位呢? 
#include
#include
using namespace std;

int main()
{
double n;
while(cin >> n)
{
bool isNeg = n < 0;
n = fabs(n);
n = int(floor(n * 100 + 0.5) ) / 100.0;
cout.precision(2);
cout.setf(ios::fixed);
if(isNeg && n != 0)
cout << '-';
cout << n << endl;
}
return 0;
}



可能是測試平台編輯器的差異,你的程式這段 int(floor(n * 100 + 0.5) )

在測試平台上49.99在轉成整數時直接變成50,之後再除100等於0.5

還是改個方式寫程式,例如n*1000之後判斷個位數是4或5再決定要不要進位,再除回來

 
ZeroJudge Forum