A simple math problem【打表找规律】
来源:互联网 发布:c语言不同数据类型运算 编辑:程序博客网 时间:2024/06/07 09:02
“玲珑杯”ACM比赛 Round #19
题意:
输入n值,根据题目公式,算出10的第An项次幂;
思路:
根据这两天写题发现,打表找规律进而推公式,是一个不错的好方法,这个题的规律打表就会发现,详看代码中的枚举;
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<vector>#define max_n 10010using namespace std;typedef long long LL;double a[max_n];int main(){ LL n; while(~scanf("%lld",&n)) { LL res=0,ans=n; while(ans) { ans/=10; res++; } if(res==1 || n==10) printf("%lld\n",n); else if(res==2) printf("%lld\n",n+1); else if(res==3) { if(n<999) printf("%lld\n",n+2); else printf("%lld\n",n+3); } else if(res==4) { if(n<9998) printf("%lld\n",n+3); else printf("%lld\n",n+4); } else if(res==5) { if(n<99997) printf("%lld\n",n+4); else printf("%lld\n",n+5); } else if(res==6) { if(n<999996) printf("%lld\n",n+5); else printf("%lld\n",n+6); } else if(res==7) { if(n<9999995) printf("%lld\n",n+6); else printf("%lld\n",n+7); } else if(res==8) { if(n<99999994) printf("%lld\n",n+7); else printf("%lld\n",n+8); } else if(res==9) { if(n<999999993) printf("%lld\n",n+8); else printf("%lld\n",n+9); } else if(res==10)//别忘了枚举这个情况 { if(n<9999999992) printf("%lld\n",n+9); else printf("%lld\n",n+10); } } return 0;}
阅读全文
1 0
- A simple math problem【打表找规律】
- “玲珑杯”#19 A -- A simple math problem 找规律
- “玲珑杯”ACM比赛 Round #19 A.A simple math problem【打表找规律】
- A Simple Math Problem
- A Simple Math Problem
- A Simple Math Problem
- A Simple Math Problem
- A Simple Math Problem
- A simple math problem
- A Simple Math Problem
- A Simple Math Problem hdu1757
- hdu A Simple Math Problem
- hdu1757 A Simple Math Problem
- HDU1757 A Simple Math Problem
- hdu4979 A simple math problem.
- HDU4979 A simple math problem.
- HDU1757 A Simple Math Problem
- hdu1757 - A Simple Math Problem
- COJ1973-给自己出题的小X
- windows注册表文件损坏了,导致windows无法启动,解决办法!
- sqlserver通用类库
- 写了一个Xcode的小demo遇到了一些问题
- 自我介绍小故事
- A simple math problem【打表找规律】
- API学习LinkedHashSet
- LCA倍增法求解学习、
- solr自定义分词器
- 剑指offer在线编程(三)
- 【HDU 6050 To my boyfriend】
- 总结
- 论坛、社区、博客
- Svn遇到的问题汇总(持续更新)