時/空限制: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 ...