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

[2016-04-21][light]OJ[1234][Harmonic Number]

时间:2016-04-21 23:29:02      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

[2016-04-21][light]OJ[1234][Harmonic Number]

  • 时间:2016-04-21 22:18:26 星期四

  • 题目编号:[2016-04-21][light]OJ[1234][Harmonic Number]

  • 题目大意:k=1n1kn(1,108),10?8

  • 分析:

    • 想法是打表,然后输出,但是直接打表会爆内存
    • ,100,1100,
    • n100,n100×100,
  1. #include<cstdio>
  2. using namespace std;
  3. const int maxn = 1E8 + 10;
  4. double a[maxn / 100 + 10];
  5. void ini(){
  6. double cur = 0;
  7. for(int i = 1 ; i <= 1E8 ;++i ){
  8. cur += double(1)/i;
  9. if(i % 100 == 0) a[i/100] = cur;
  10. }
  11. }
  12. int main(){
  13. ini();
  14. int t,cntcase = 0;
  15. scanf("%d",&t);
  16. while(t--){
  17. int n;
  18. scanf("%d",&n);
  19. double cur = a[n / 100];
  20. for(int i = n / 100 * 100 + 1;i <= n ; ++i){
  21. cur += double(1) / i;
  22. }
  23. printf("Case %d: %.10lf\n",++cntcase ,cur);
  24. }
  25. return 0;
  26. }




[2016-04-21][light]OJ[1234][Harmonic Number]

标签:

原文地址:http://www.cnblogs.com/qhy285571052/p/5c7758f6da994ca41f2b3b9e3bc4fdf7.html

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