1. 程式人生 > >BZOJ-1968: [Ahoi2005]COMMON 約數研究 (思想)

BZOJ-1968: [Ahoi2005]COMMON 約數研究 (思想)

nbsp mon freopen turn log mil ++ submit pen

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 }

BZOJ-1968: [Ahoi2005]COMMON 約數研究 (思想)