洛谷 p1403 AHOI2005 約數研究

2021-08-11 18:07:49 字數 1256 閱讀 3843

題目描述

科學家們在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 來表示。例...