CSES 2182 - Divisor Analysis
1.0s 512M給定一個整數,你的任務是求出它的因數個數、因數總和與因數乘積。以 \(12\) 為例:
- 因數個數是 \(6\)(它們是 \(1, 2, 3, 4, 6, 12\))
- 因數總和是 \(1+2+3+4+6+12=28\)
- 因數乘積是 \(1 \cdot 2 \cdot 3 \cdot 4 \cdot 6 \cdot 12 = 1728\)
由於輸入的數可能很大,它以質因數分解的形式給出。
輸入格式
第一行包含一個整數 \(n\):質因數分解的項數。
接下來 \(n\) 行描述質因數分解,每行包含兩個數 \(x\) 與 \(k\),其中 \(x\) 是質數、\(k\) 是它的次方。
輸出格式
輸出三個整數(皆對 \(10^9+7\) 取模):因數的個數、總和與乘積。
範例輸入 1
2
2 2
3 1
範例輸出 1
6 28 1728
限制
- \(1 \le n \le 10^5\)
- \(2 \le x \le 10^6\),每個 \(x\) 是兩兩相異的質數
- \(1 \le k \le 10^9\)
題目來源
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入