函式之判斷素數

2021-06-20 10:01:30 字數 669 閱讀 2725

寫乙個判斷素數的函式,在主函式輸入乙個整數,輸出是否是素數的訊息。

乙個數如果是素數輸出prime 

如果不是輸出

素數是只能被1和它本身整除的一類特殊的數,所以,要編寫乙個程式尋找這類數,如果乙個數還能被其他的數整除,就不符合要求;

輸入的資料預設為素數,所以定義乙個變數為真(

int p=1

);檢查時只檢查到該數的一半就可以(因為乙個數分為兩個數的乘積時,一定乙個大乙個小),只要能被其他數整除,即餘數為0(

if(n%i==0)

),那就可以判斷為假(

p=0;

);之所以在迴圈語句中有

&&p==1

是因為先預設為真了,所以只有在真的條件下才能執行,當迴圈到某個地方已經判斷為假時,就不用再往後了,因為已經有結果了!,

數學之判斷素數

前面我們講了判斷素數的方法 複雜度o n 但是它太慢了,所以我們要有一種更快的判斷方法。好像似乎沒有在保證正確率的情況下更快的了.那就把正確率吃掉好了。很久很久以前,素數突然出現,帶來題目帶走題解又消失不見 判斷十分危險,複雜度誰最短 當然是miller rabin辣!某個神奇的定理 蒟蒻證明湊合著...

利用孿生素數判斷素數

思路參見 孿生素數 所謂孿生素數指的是間隔為 2 的相鄰素數。大於6以上的孿生素數,p 1和p 1為素數,則p 1和p 1一定為奇數,則p一定為偶數,即p為2的倍數 p 1 p p 1為連續的自然數,他們一定有乙個是3的倍數,p 1和p 1為素數,則他們不為3的倍數,即p也為3的倍數 所以p一定為2...

尤拉函式 最大素因數 素數判斷 素數表

求尤拉函式 小於等於n的數中與n互質的數的數目 求最大素因數 打素數表 判斷乙個數是否是素數 在一些題目中,需要先提前暴力出最大值,否則會超時。1的尤拉函式值是1,但是看題目說明,有些題目認為小於等於,有些只有小於 1與任何數互質 不與n互質的數不一定是n的約數 最後的n 1是為了處理當n是兩個素數...