Presentation is loading. Please wait.

Presentation is loading. Please wait.

13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge

Similar presentations


Presentation on theme: "13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge"— Presentation transcript:

1 13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge
題號:13194: DPS Numbers II 解題者:林浩陽 解題日期:2019年4月17日 題意: 首先輸入一個數字,找出這個數字所有的因數,並 將這個數字除了自己以外所有的因數加起來與原來的數 字做比較 , 如果比較小輸出 deficient ,如果一樣大輸出 perfect ,如果比較大輸出 abundant 。 1 1

2 先製作質數表,再利用質數表對目標數字做質因數分 解,並且利用排列組合來找出所有的因數,再將找出的 因數相加。
題意範例: Input: 8 // 8 的因數有 1 , 2 , 4 6 // 6 的因數有 1 , 2 , 3 18 // 18 的因數有 1 , 2 , 3 , 6 , 9 Output: deficient // = 7 < 8 perfect // = 6 = 6 abundant // = 21 > 18 解法: 先製作質數表,再利用質數表對目標數字做質因數分 解,並且利用排列組合來找出所有的因數,再將找出的 因數相加。 2 2

3 質數表: 由於3是白色的,所以3是質數,而3的倍數都不是質數。 以此列推,將剩下的質數找出來。
假設要找出2 ~ 10的因數,先列出2 ~ 10,將他們設為白色。 由於2 是白色,所以2 是質數,2 的倍數則都不是質數。(藍色表示質數,紅色表示非質數) 由於3是白色的,所以3是質數,而3的倍數都不是質數。 以此列推,將剩下的質數找出來。 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10

4 因數總合: 假設以504為目標數,先對它做質因數分解。 504 = 2³ X 3² X 7¹ 利用排列組合可以找到504所有的因數
504的因數總合= ( ² + 2³ )*( ² )*( )=1560 因為題目要求的因數不包含自己,所以再減去自己 504的因數總合為: = 1056

5 解法範例:無 討論: 原本想要做成每次輸入數字就直接從1~ 找出這個 數字的因數,但這樣太浪費時間了,所以後來改用做質 數表的方式來解再加上排列組合來解。 5 5


Download ppt "13194: DPA Number II ★★☆☆☆ 題組:Problem Set Archive with Online Judge"

Similar presentations


Ads by Google