hdu1141
2015-09-24 21:03
351 查看
参考代码:
http://blog.sina.com.cn/s/blog_4d88e9860100cnl4.html
主要还是关于log与位数的关系(具体hdu1008),这道题进一步说明了,把log后的值四舍五入比较接近正确的值(这样说对吗?严谨吗?
),如果不注意可能会wr在这里。
http://blog.sina.com.cn/s/blog_4d88e9860100cnl4.html
主要还是关于log与位数的关系(具体hdu1008),这道题进一步说明了,把log后的值四舍五入比较接近正确的值(这样说对吗?严谨吗?
),如果不注意可能会wr在这里。
#include<stdio.h> #include<string.h> #include<math.h> #include<iostream> using namespace std; #define N 310 int bitnum ; int main(){ for(int i=0;i<201;i++){ bitnum[i]=1<<((i/10)+2); } int n=3; double length=3.0; int ilength=3; for(int i=0;i<201;i++){ while(ilength/*注释中所指替换这里前面的*/<=bitnum[i]){//一开始直接在这里(int)length就出错了,如果直接length也会出错,但是换成ilength后经过一些处理就可以了 length+=log2((++n)*1.0); /*if(n<=100){//经初步验证5!和6!,length四舍五入时,与正确值相等 printf("%lf %d\n",length,n); }*/ ilength=(int)length<(int)(length+0.5)?(int)length+1:(int)length; } bitnum[i]=n-1; if(i%10==0){ //printf("%lf %d %d\n",length,i+1960,bitnum[i]); } } int num; while(scanf("%d",&num)!=EOF&&num!=0){ printf("%d\n",bitnum[num-1960]); } return 0; }
相关文章推荐
- poj 1386 Play on Words(单向欧拉函数+并查集)
- CodeForce #318 div 2 C Bear and Poker
- 后台程序
- Android Api Demos登顶之路(八十)Graphics-->PathFillTypes
- Cocos2d-x 手机游戏《疯狂的蝌蚪》资源 “开源” win32+安德鲁斯+iOS三合一
- Java基础知识强化70:正则表达式之引入案例(QQ号码校验)
- [sicily]1813. M进制数问题
- HDU - 1864 最大报销额(01背包)
- 汉诺塔
- More Effective C++ 条款20 协助完成"返回值优化(RVO)"
- 百度offe面经及找工作一个月体会
- TCP/IP的工作方式
- VMware10上CentOS6.5安装MySQL2.6.26
- THU数据结构编程作业一:查询范围(Range)
- (更新)OutputDebugString函数简单封装,实现格式化打印输出(VC++)
- POJ3984
- Android所遇到的问题归类
- 怎么给qt程序添加版本信息
- Redis 命令 - Hashs
- ServletContextListener