ZOJ 3693 Happy Great BG

这个题的关键是看清楚题意,我就没看懂题再瞎写,直接n= n+2,n = n-n/k, 这些人是要付钱的,然后,重点来了,在结果上加10^-10才能A,不然就是WA,不明白为什么,求高手解释计算机如何处理浮点数!

追加的:这题貌似不是什么浮点数怪,也许只是不要四舍五入,而是直接进1,比如,2.341,就要付2.35元,所以在算得的结果后加一个0.009就能过,但是rounded不是四舍五入吗?????应该是这题出的不太正常

贴代码:

View Code
 1 #include <cstdio>
 2 int main()
 3 {
 4     int n,k;
 5     double w;
 6     while(~scanf("%d%lf%d",&n,&w,&k))
 7     {
 8         n = n +2;
 9         n = n - n/k;
10         printf("%.2lf\n",w*n/2.0 + 0.0000000001);
11     }
12     return 0;
13 }
原文地址:https://www.cnblogs.com/allh123/p/2994259.html