BZOJ-1968: [Ahoi2005]COMMON 约数研究 (思想)

1968: [Ahoi2005]COMMON 约数研究

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 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 }
 
未来是什么样,未来会发生什么,谁也不知道。 但是我知道, 起码从今天开始努力, 肯定比从明天开始努力, 要快一天实现梦想。 千里之行,始于足下! ——《那年那兔那些事儿》
原文地址:https://www.cnblogs.com/keximeiruguo/p/7746646.html