CodeForces 584 D.Dima and Lisa(数论)
生活随笔
收集整理的這篇文章主要介紹了
CodeForces 584 D.Dima and Lisa(数论)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Description
給出一個奇數(shù),將其拆成不超過3個的素數(shù)
Input
一個奇數(shù)n (3?≤?n?<?10^9)
Output
輸出不超過三個素數(shù)滿足和為n
Sample Input
27
Sample Output
3
5 11 11
Solution
因10^9內所有素數(shù)相鄰間差值不超過300,所以我們暴力枚舉n-300~n之間的奇數(shù)必然可以找到一個素數(shù)p1,然后由1+1可知n-p1一定可以拆成兩個素數(shù)之和,這里也是暴力枚舉2~(n-p1)/2,找到一個i滿足i和n-p1-i都是素數(shù),答案即為p1,i,n-p1-i,當然如果n-p1本身是素數(shù)直接輸出p1和n-p1即可,這樣的復雜度主要在暴力檢驗n-300~n之間150個奇數(shù)是否為素數(shù)上,時間復雜度為O(150*sqrt(n)),注意3要特判,因為3不能拆成一個以上的素數(shù)
Code
總結
以上是生活随笔為你收集整理的CodeForces 584 D.Dima and Lisa(数论)的全部內容,希望文章能夠幫你解決所遇到的問題。