LightOJ1245 Harmonic Number (II) 整除分块
LightOJ1245 Harmonic Number (II)
标签
- 整除分块
前言
- 我的csdn和博客园是同步的,欢迎来访danzh-博客园~
简明题意
- 求(n<=max_int)
\[\sum_{i=1}^n[\frac ni]
\]
思路
- 。。。整出分块的板子题。不会的去学一下整除分块
注意事项
- 无
总结
- 无
AC代码
#include<cstdio>
void solve()
{
int t;
scanf("%d", &t);
for (int i = 1; i <= t; i++)
{
int n;
scanf("%d", &n);
long long ans = 0;
int l = 1;
while (l <= n)
{
int r = n / (n / l);
ans += (r - l + 1) * (n / l);
if (l == 1ll << 31 - 1)
break;
l = r + 1;
}
printf("Case %d: %lld\n", i, ans);
}
}
int main()
{
freopen("Testin.txt", "r", stdin);
solve();
return 0;
}
作者:danzh
QQ:1244536605
CSDN(和博客园同步):https://blog.csdn.net/weixin_42431507
-----------------------------------------------------------------------------------------------
朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其
它人怎么样,我们也能够保持自己的本色走下去。
—clj