码迷,mamicode.com
首页 > 其他好文 > 详细

坑爹的杜神

时间:2019-10-03 14:22:21      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:info   long   src   jpg   style   小数点   防止   出现   eof   

原题:

众所周知,杜神非常喜欢出大模拟,也非常喜欢设置一些细节坑人。例如,在某次大赛中,他出了一道这样的题

(以下省略3000字)

计算出答案a后,你应该将a除以1000,再保留到小数点后两位输出,四舍五入。

保证a是非负整数,而且不超过64位有符号整数的表示范围。

输入

多组数据,每组数据1行,包含整数a。

输出

每组数据输出一行,表示杜神要你输出的答案。

 

这种菜题,我还不是一刀切技术图片

1 while(scanf("%lld",&a)!=EOF){
2      printf("%.2Lf\n",(long double)a/1000.0);

技术图片技术图片

听群里大哥说,为了防止丢精度,四舍五入最好加上eps

1 while(scanf("%lld",&a)!=EOF){
2         printf("%.2Lf\n",(long double)a/1000.0+eps);

技术图片技术图片

longdouble精度不够

那我拆成两半

1 while(scanf("%lld",&a)!=EOF){
2         long long b=a/10000;  a=a%10000;
3         if(b)  printf("%lld",b);
4         printf("%.2Lf\n",(long double)a/1000.0+eps);

技术图片技术图片

99999,出现进位会错

那我特判最后一个数总行了吧

1 while(scanf("%lld",&a)!=EOF){
2         long long b=a/10+(a%10>=5);
3         printf("%.2Lf\n",(long double)b/100.0);

技术图片技术图片

 

坑爹的杜神

标签:info   long   src   jpg   style   小数点   防止   出现   eof   

原文地址:https://www.cnblogs.com/cdcq/p/11619595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!