Harmonic Number (II)
来源:互联网 发布:淘宝服装试用报告范文 编辑:程序博客网 时间:2024/05/18 11:22
I was trying to solve problem ‘1234 - Harmonic Number’, I wrote the following code
long long H( int n ) {
long long res = 0;
for( int i = 1; i <= n; i++ )
res = res + n / i;
return res;
}
Yes, my error was that I was using the integer divisions only. However, you are given n, you have to find H(n) as in my code.
Input
Input starts with an integer T (≤ 1000), denoting the number of test cases.
Each case starts with a line containing an integer n (1 ≤ n < 231).
Output
For each case, print the case number and H(n) calculated by the code.
Sample Input
11
1
2
3
4
5
6
7
8
9
10
2147483647
Sample Output
Case 1: 1
Case 2: 3
Case 3: 5
Case 4: 8
Case 5: 10
Case 6: 14
Case 7: 16
Case 8: 20
Case 9: 23
Case 10: 27
Case 11: 46475828386
题意:
让你用求h(n);
思路:暴力的话会超时,所以我们就要找规律看看,你会发现假设 tmp 是 n/i 的值,当n == 10的时候(取具体值)
#include<stdio.h>#include<string.h>#include<math.h>int main(){ int t; scanf("%d",&t); int g=0; while(t--) { ++g; int n; scanf("%d",&n); int m=sqrt(n); long long int sum=0; for(int i=1;i<=m;i++) { sum+=n/i; } for(int temp=1;temp<=m;temp++) sum+=temp*((n/temp)-(n/(temp+1))); if(m==n/m) sum-=m; printf("Case %d: %lld\n",g,sum); }}
- Harmonic Number (II)
- Harmonic Number (II) [数学]
- Harmonic Number (II) LightOJ
- Harmonic Number (II)
- Harmonic Number (II) LightOJ
- Harmonic Number (II) LightOJ
- LightOJ 1245 Harmonic Number (II)
- LightOJ 1245 Harmonic Number (II)
- LightOJ 1245 Harmonic Number (II)
- lightoj1245 - Harmonic Number (II)【数学】
- LightOJ 1245 - Harmonic Number (II)
- LightOJ 1245 Harmonic Number (II)
- LightOJ-1245-Harmonic Number (II)
- lightOJ 1245 Harmonic Number (II)
- LightOJ 1245 Harmonic Number (II)
- LightOJ 1245 Harmonic Number (II)
- lightoj 1245 Harmonic Number (II)
- Light oj 1245 - Harmonic Number (II)
- B
- 热浪
- Java7中的switch支持String的实现细节
- 基于Vue2.0+Vuex+Axios+NodeJs+Express+MySQL实现京东移动web商城
- 堆栈
- Harmonic Number (II)
- MOL3D
- 永磁电机直轴交轴理解
- 深入了解volatile
- 手动内存管理方法
- No.7_3 OpenCL 同步——事件同步
- Android-20170408
- 算法学习-(一)分治法
- 列表