博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1003
阅读量:6268 次
发布时间:2019-06-22

本文共 677 字,大约阅读时间需要 2 分钟。

1 #include 
2 #define E 0.001 3 4 int main() 5 {
6 double t; 7 while( scanf("%lf", &t) && t <=-E || t >= E ) 8 {
9 double sum =0, i; 10 for(i =2; ; i++) 11 {
12 sum +=1/i; 13 if( sum - t > E) 14 break; 15 } 16 printf("%d card(s)\n", (int)(i-1) ); 17 } 18 return0; 19 }

不折不扣的水题,不过仍旧反映了一些值得注意的问题。那就是关于浮点数比较大小的事项。

在林锐《高质量c/c++编程》中有较为深入的分析。比较两个浮点数的时候,我们必须设定好精度范围。

一般情况下,设我们要求的精度为E,那么则有

if( abs(x - y) <= E )  //x == y if( abs(x - y) > E )    //x != y if( x - y >= E )         //x > y if( x - y <-E )         //x < y

所以平常写程序应该注意这点。

转载于:https://www.cnblogs.com/ShaneZhang/archive/2011/07/14/2106762.html

你可能感兴趣的文章
【Java】从域名得到ip
查看>>
Mysql索引会失效的几种情况分析
查看>>
LVM逻辑卷
查看>>
zoj3591 Nim(Nim博弈)
查看>>
canvas绘图
查看>>
poj - 3039 Margaritas on the River Walk
查看>>
bootstrap(5)关于导航
查看>>
Aptana插件在eclipse中安装
查看>>
jQuery-数据管理-删除事件
查看>>
下载器简单实例
查看>>
java实现分页工具类(JDBC)
查看>>
欧几里德算法与扩展欧几里德算法
查看>>
Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)
查看>>
通过kafka提供的命令来查看offset消费情况
查看>>
oracle数据库从入门到精通之四
查看>>
自定义圆形图片控件
查看>>
sharepoint 2013 补丁升级步骤
查看>>
asp.net core 2.0 web api基于JWT自定义策略授权
查看>>
Skype for Business Server 2015-04-前端服务器-3-安装-管理工具
查看>>
第12章代码《跟老男孩学习Linux运维:Shell编程实战》
查看>>