Harmonic Number(暴力求解法)
来源:互联网 发布:改图软件app 编辑:程序博客网 时间:2024/06/05 06:55
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/D;
题意:就是求解Harmonic Numbe值 即求 中的Hn;
分析:本题重在打表,因为个数很大(1亿),所以要分成小份进行存储(好不麻烦);剩下的就可以循环很少次数了。假设分成2500000分设为数组s,就是每隔40个数记录一次,接下来给出x如果是40的倍数,直接输出s[x/40],否则,则从x/40*40开始循环至x
代码如下:
#include <set>#include <map>#include <stack>#include <queue>#include <math.h>#include <vector>#include <utility>#include <string>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iostream>#include <algorithm>#include <functional>using namespace std;double s[3000000];int main(){ double a=0; int k=0; s[0]=0; for(int i=1;i<=100000004;i++){ a+=1/(double)i; if(i%40==0)//我分成了40个,下面循环的时候只需循环19次 s[++k]=a; } int n; k=1; cin>>n; while(n--){ int x; cin>>x; int m=x/40;// cout<<m<<endl; double sum=s[m]; for(int i=m*40+1;i<=x;i++){ sum+=1/(double)i; } printf("Case %d: %.10lf\n",k++,sum); } return 0;}
1 0
- Harmonic Number(暴力求解法)
- Harmonic Number(暴力做法)
- 暴力求解法入门
- 暴力求解法
- 暴力求解法 最大乘积
- 暴力求解法--简单枚举
- 暴力求解法-简单枚举
- 暴力求解法--生成子集
- Harmonic Number
- Harmonic Number
- hdu-1394Minimum Inversion Number(暴力解法或者线段树 求最少逆序对)
- lightOJ 1245 Harmonic Number (II) 利用图形求整数点
- 暴力求解法 之 简单枚举
- 暴力求解法 之 枚举排列
- 暴力求解法-双基回文数
- 暴力求解法 之 简单枚举
- 暴力求解法之简单枚举--除法
- 第七章:暴力求解法。第一部分
- 安卓使用第三方jar包电脑编译通过但是运行出错
- sql server 统计各省份人数前几名和其他
- IoC--Inversion of Contro and DI---Dependency Injection(Spring)
- 代码行统计工具(C#)
- Java 编程思想 写一个程序,打印出从命令行获取的三个自变量。
- Harmonic Number(暴力求解法)
- 由于ip改变重新配置CM集群
- myEclipse导出可运行的jar包
- RMAN之恢复服务器参数文件
- 当使用contentMode后你的图片会更有意思
- VS2010 与 glut freeglut GLtools glew等 配置教程
- 如何高效率开发App
- lightoj 1032 - Fast Bit Calculations 二进制数位dp
- 【BZOJ 1901】 Zju2112 Dynamic Rankings|树状数组套主席树