切換
舊版
前往
大廳
主題

ZeroJudge - d419: 00884 - Factorial Factors 解題心得

Not In My Back Yard | 2019-02-02 18:23:46 | 巴幣 0 | 人氣 223

題目連結:


題目大意:
給定一正整數 n (2 ≦ n ≦ 1, 000, 000),求 n! 質因數分解後,各個質因數的次方之和。



範例輸入:
2
1000000
1996
5
8
123456



範例輸出:
1
3626619
5957
5
11
426566



解題思維:
首先,把 1 ~ 1, 000 之間的質數找出來。

之後,再把 2 ~ 1, 000, 000 的每個數字用上述的質數表去做質因數分解。如果上述的質數表無法整除某數,且某數不在此質數表裡,則此數為質數。

把所有質數的次方之值全部加起來。再用前綴和(Prefix Sums)的概念——陣列第一位存2!的結果;第二位存 2! 和 3 (也就是 3! )的結果;第三位存 3! 和 4 (也就是 4! )的結果……以此類推。接著輸入什麼數字,就從上述陣列直接輸出結果。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作