[nowcoder]因数个数和
Posted slrslr
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[nowcoder]因数个数和相关的知识,希望对你有一定的参考价值。
链接:https://www.nowcoder.com/acm/contest/158/A
考虑每个数对答案的贡献,所以答案就是$\sum_{i=1}^{n}{\lfloor\frac{n}{i}\rfloor}$
整除分块搞起来
代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define ll long long 5 using namespace std; 6 int q; 7 ll n,ans; 8 int main() 9 { 10 scanf("%d",&q); 11 while(q--) 12 { 13 scanf("%lld",&n); 14 ans=0; 15 for(ll l=1,r;l<=n;l=r+1) {r=n/(n/l);ans+=(r-l+1)*(n/l);} 16 printf("%lld\n",ans); 17 } 18 return 0; 19 }
以上是关于[nowcoder]因数个数和的主要内容,如果未能解决你的问题,请参考以下文章