題目描述
科學家們在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
輸出格式:
輸出乙個整數,表示總和
一開始看到這道題,興奮地開始窮舉..re之後把ans從int變成了long long,然後re就都變成tle了…
這是偽**:
for(int i=1;i
<=n;i++)
f[i]=1;
for(int x=1;x<=n;x++)
long long ans=0;
for(int i=1;i
<=n;i++)
ans+=f[i];
然後認認真真的觀察了一下,其實是道很水很水的數論(或許不算數論)
拿6 即在[1,6]這個範圍內 來舉例:
約數有1的數有1,2,3,4,5,6=6
約數有2的數有2,4,6=3
約數有3的數有3,6=2
沒有約數有4,5的數
約數有6的數有1個:6
不難發現規律:在[1,x]的範圍內 約數有i的數的個數為 f(
i)=⌊
x/i⌋
. 設
sum(
n)=∑
ni=1
f(i)
即可得到通項公式:su
m(n)
=∑ni
=1⌊n
/i⌋
ac**:
#include
const
int n=1000000+5;
int n,f[n];
int main()
洛谷p1403 AHOI2005 約數研究
有種失蹤人口回歸的感覺 約束研究 傳送門 不過好像沒有人注意到我這個蒟蒻 好的不管它啦 最近學數論比較多,所以可能會有好多好多的數論題?不存在的 行吧上演算法標籤 數論 數論 數論 行吧那個長得像褲子的東西是求積 和西格瑪差不多吧?接下來講一下原理 我們可以反過來考慮,顯然如果分別求1 n中每個數的...
洛谷 P1403 AHOI2005 約數研究
科學家們在samuel星球上的探險得到了豐富的能源儲備,這使得空間站中大型計算機 samuel ii 的長時間運算成為了可能。由於在去年一年的辛苦工作取得了不錯的成績,小聯被允許用 samuel ii 進行數學研究。小聯最近在研究和約數有關的問題,他統計每個正數n的約數的個數,並以f n 來表示。例...
P1403 AHOI2005 約數研究
科學家們在samuel星球上的探險得到了豐富的能源儲備,這使得空間站中大型計算機 samuel ii 的長時間運算成為了可能。由於在去年一年的辛苦工作取得了不錯的成績,小聯被允許用 samuel ii 進行數學研究。小聯最近在研究和約數有關的問題,他統計每個正數n的約數的個數,並以f n 來表示。例...