【題解】洛谷P1403[AHOI2005]約數研究 數學知識
阿新 • • 發佈:2018-12-10
題目描述
科學家們在Samuel星球上的探險得到了豐富的能源儲備,這使得空間站中大型計算機“Samuel II”的長時間運算成為了可能。由於在去年一年的辛苦工作取得了不錯的成績,小聯被允許用“Samuel II”進行數學研究。
小聯最近在研究和約數有關的問題,他統計每個正數N的約數的個數,並以f(N)來表示。例如12的約數有1、2、3、4、6、12。因此f(12)=6。下表給出了一些f(N)的取值:
f(n)表示n的約數個數,現在給出n,要求求出f(1)到f(n)的總和。
輸入輸出格式
輸入格式: 輸入一行,一個整數n
輸出格式: 輸出一個整數,表示總和
輸入輸出樣例
輸入樣例#1: 3 輸出樣例#1: 5
說明
【資料範圍】
20%N<=5000
100%N<=1000000
求每個數約數個數的和,也就相當於求每個約數有多少個倍數。
#include<cstdio>
int main()
{
int n;
scanf("%d",&n);
long long sum=0;
for(int i=1;i<=n;i++)sum+=n/i;
printf("%lld\n",sum);
return 0;
}
總結
將問題簡單轉化一下就可以O(n)了