1968: [Ahoi2005]COMMON 约数研究
Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 2866 Solved: 2135
[Submit][Status][Discuss]
Description
Input
只有一行一个整数 N(0 < N < 1000000)。
Output
只有一行输出,为整数M,即f(1)到f(N)的累加和。
Sample Input
3
Sample Output
5
HINT
Source
拯救状态的最好方法就是 => 做水题!!!(雾)
这题求的是f(n)的和,枚举i从1~n 对于每个i加上他对答案的贡献即可ovo(讲人话就是看他是几个数的因数或者说是n范围内有几个数是他的倍数) ans+=n/i
1 #include "bits/stdc++.h" 2 using namespace std; 3 int main(){ 4 freopen ("study.in","r",stdin);freopen ("study.out","w",stdout); 5 int i,j,n,ans=0; 6 scanf ("%d",&n); 7 for (i=1;i<=n;i++) ans+=n/i; 8 printf("%d",ans); 9 return 0; 10 }