#22805: 解法思路


p3a_owhj (阿普二信)

學校 : 不指定學校
編號 : 39897
來源 : [36.227.85.174]
最後登入時間 :
2025-09-14 22:47:31

不確定有多少筆資料,但以我的解法 AC/10ms,應該筆數不多吧

==================== 解法 =========== 

篩法建質數表 pr[],因要判定某數是否質數,篩法的記號 c[]留著用

n若是偶數,一定可以分成兩個質數,n/2最接近的奇數 i 往下找 j,n-j 皆質數{3<=j<=i的奇數} 印出2個 j,n-j

n若為奇數:(1) n-2也是質數,則印出 2個 2,n-2

           (2) n-2非質數,切成3個奇數,從最接近 n/3的質數 i往下找所有 j + nj{nj是可以拆成2個質數的偶數}
                又若 n可以拆成三個相等的質數,直接印出,不用跑迴圈

例如 有一筆 999997 拆成三個質數,我的方法是
     i=999997/3往下取奇數 i = 333331 雙迴圈 從j<=i 的質數{質數表往下找},nj=n-j, 內迴圈找所有 k<=nj/2 的質數,
                若 j,k,nj-k皆為質數,算出其乘積 p ,保留最大的 p 及相對應的 j,k,nj-k{我用 ans[3]存}
                輸出時 ans[] 要 sort

================ 這解法 感覺不是很好,筆數一多應該過不了,但試試看就 AC了,不曉得有沒有更好的解法

  

#23004: Re:解法思路


ryan40426@apps.ntpc.edu.tw (Foxyy)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 72256
來源 : [140.113.136.220]
最後登入時間 :
2024-05-17 14:58:48

不確定有多少筆資料,但以我的解法 AC/10ms,應該筆數不多吧

==================== 解法 =========== 

篩法建質數表 pr[],因要判定某數是否質數,篩法的記號 c[]留著用

n若是偶數,一定可以分成兩個質數,n/2最接近的奇數 i 往下找 j,n-j 皆質數{3<=j<=i的奇數} 印出2個 j,n-j

n若為奇數:(1) n-2也是質數,則印出 2個 2,n-2

           (2) n-2非質數,切成3個奇數,從最接近 n/3的質數 i往下找所有 j + nj{nj是可以拆成2個質數的偶數}
                又若 n可以拆成三個相等的質數,直接印出,不用跑迴圈

例如 有一筆 999997 拆成三個質數,我的方法是
     i=999997/3往下取奇數 i = 333331 雙迴圈 從j<=i 的質數{質數表往下找},nj=n-j, 內迴圈找所有 k<=nj/2 的質數,
                若 j,k,nj-k皆為質數,算出其乘積 p ,保留最大的 p 及相對應的 j,k,nj-k{我用 ans[3]存}
                輸出時 ans[] 要 sort

================ 這解法 感覺不是很好,筆數一多應該過不了,但試試看就 AC了,不曉得有沒有更好的解法

  


DP它 :D

#31054: Re: 解法思路


jm168.fen@gmail.com (銘芬)

學校 : 不指定學校
編號 : 196588
來源 : [61.230.45.159]
最後登入時間 :
2022-07-17 21:21:08

不確定有多少筆資料,但以我的解法 AC/10ms,應該筆數不多吧

==================== 解法 =========== 

篩法建質數表 pr[],因要判定某數是否質數,篩法的記號 c[]留著用

n若是偶數,一定可以分成兩個質數,n/2最接近的奇數 i 往下找 j,n-j 皆質數{3<=j<=i的奇數} 印出2個 j,n-j

n若為奇數:(1) n-2也是質數,則印出 2個 2,n-2

           (2) n-2非質數,切成3個奇數,從最接近 n/3的質數 i往下找所有 j + nj{nj是可以拆成2個質數的偶數}
                又若 n可以拆成三個相等的質數,直接印出,不用跑迴圈

例如 有一筆 999997 拆成三個質數,我的方法是
     i=999997/3往下取奇數 i = 333331 雙迴圈 從j<=i 的質數{質數表往下找},nj=n-j, 內迴圈找所有 k<=nj/2 的質數,
                若 j,k,nj-k皆為質數,算出其乘積 p ,保留最大的 p 及相對應的 j,k,nj-k{我用 ans[3]存}
                輸出時 ans[] 要 sort

================ 這解法 感覺不是很好,筆數一多應該過不了,但試試看就 AC了,不曉得有沒有更好的解法

  


DP它 :D

  1. 解題原理可google"哥德巴赫猜想"

  2. 測資約10筆, 較大的有: 999997, 999999, 295117