#37936: 解題想法


sunfrancis12 (sunfrancis12)

學校 : 國立臺中教育大學
編號 : 102135
來源 : [120.108.204.174]
最後登入時間 :
2024-10-23 16:54:03
d131. 00160 - Factors and Factorials -- UVa160 | From: [101.137.141.202] | 發表日期 : 2023-10-19 16:11

我的作法是先建立一個包含1-100所有質數的質數表

在創建一個map物件,儲存每個質數對應的數量

用一個迴圈跑2~N,並針對每個 i ,從質數表查表的方式檢查 i 被哪個質數整除,

再使用map[質數]++ 的方式儲存次數,一直重複直到 i =1

map<int,int> num_list;

        for(int i=2;i<=n;i++){
            int temp = i;
            for(int j=0;1<temp;j++){
                if(temp%prime_list[j]==0){
                    temp /= prime_list[j];
                    num_list[prime_list[j]]++;
                    j--;
                }
            }
        }
 
ZeroJudge Forum