AcWing 約數之和 約數和定理

2021-09-26 06:22:46 字數 967 閱讀 2259

時/空限制:1s / 64mb

給定n個正整數ai,請你輸出這些數的乘積的約數之和,答案對109+7取模。

第一行包含整數n。

接下來n行,每行包含乙個整數ai。

輸出乙個整數,表示所給正整數的乘積的約數之和,答案需對109+7取模。

1≤n≤100,

1≤ai≤2∗10^9

326

8

題意:求出一些數的乘積的約數之和。

思路:如果n=p1^c1 * p2^c2 * ... * pk^ck,則約數之和就是(p1^0 + p1^1 + ... + p1^c1) * ... * (pk^0 + pk^1 + ... + pk^ck),具體可見約數和定理。

accepted code:

/* 

* @author: lzyws739307453

* @language: c++

*/#include using namespace std;

const int mod = 1e9 + 7;

map prime;

void slove(long long n) }}

if (n > 1)

prime[n]++;

}int main()

long long res = 1;

map ::iterator it;

for (it = prime.begin(); it != prime.end(); it++)

res = res * ans % mod;

}printf("%lld\n", res);

return 0;

}

約數的個數和約數之和

對任意乙個數n,d是n的乙個約數,他們可以寫成下列格式 約數個數就轉化為等於每個因子有多少種選法 在int範圍內,約數最多的數有大概1500個約數。實現 先對a1,a2,an 分別分解,再套用公式 include include include using namespace std const i...

約數之和(acwing)

假設現在有兩個自然數a和b,s是ab 的所有約數之和。請你求出s mod 9901的值是多少。輸入格式 在一行中輸入用空格隔開的兩個整數a和b。輸出格式 輸出乙個整數,代表s mod 9901的值。資料範圍 0 a,b 5 107 輸入樣例 2 3輸出樣例 注意 a和b不會同時為0。include ...

知識總結 約數個數定理和約數和定理及其證明

據說這倆是小學奧數內容?完了我菜成一團沒上過小學 本文只研究正整數 a a 的約數個數和約數和。首先對 a role presentation style position relative a a分解質因數a inp aii pi是質 數 a inpi ai p i是質數 先看結論 nu m i ...