判斷數是不是質數的演算法,流程圖,判斷一個數是不是質數的演算法,流程圖

2021-12-20 15:35:21 字數 3649 閱讀 7413

1樓:匿名使用者

兩個演算法:

1。輸入一個數n

flag=0;

for(int i=2;i

for(int j=2;j

...if(flag==0) printf("是質數");

...2.輸入一個數n

flag=0;

for(int i=2;i

if(int(n/i)==n/i && int(n/i)!=1) printf("不是質數");flag=1;break;

...if(flag==0); printf(...);

...第一個用雙迴圈舉出2到n-1中所有數的乘積,等於n則不是質數;

第二個用除法,n除以2到n-1中所有的數,結果為整數則不是質數(n/2=1的情況除外);

2樓:匿名使用者

這麼簡單的東西只要懂定義就能做,又沒有演算法效能要求,for一個i=2~n-1然後判斷(n/i)*i==n的真假,真就跳出迴圈。

最後看i是不是等於n如果等於n就是素數不等於就不是。

j**a,判斷一個數是不是質數的程式

3樓:育知同創教育

/* 判斷一

復個制數是否是素數

(質數) */

public boolean isprime(int number)continue;

}return true;}

怎樣判斷一個數是不是質數?

4樓:暴走少女

1、查表法:

主要是指查「質數表」。編制質數表的過程是:按照自然數列,第一個數1不是質數,因此要除外,然後按順序寫出2至100的所有自然數,這些數中2是質數,把它留下,把2後面所有2的倍數劃去,2後面的3是質數,接著再把3後面所有3的倍數劃去,如此繼續下去,剩下的便是100以內的全部質數。

2、試除法:

在手頭上沒有質數表的情況下,可以用試除法來判斷一個自然數是不是質數。例如判斷143、179是不是質數,就可以按從小到大的順序用2、3、5、7、11……等質數去試除。一般情況下用20以內的2、3、5、7、11、13、17、19這8個質數去除就可以了。

如143,這個數的個位是3,排除了被2、5整除的可能性,它各位數字的和是1+4+3=8,也不可能被3整除,通過口算也證明不能被7整除,當試除到11時,商正好是13,到此就可以斷定143不是質數。

擴充套件資料:

一、質數的相關性質

1、質數p的約數只有兩個:1和p。

2、初等數學基本定理:任一大於1的自然數,要麼本身是質數,要麼可以分解為幾個質數之積,且這種分解是唯一的。

3、質數的個數是無限的。

4、質數的個數公式π(n)是不減函式。

5、若n為正整數,在n²到(n+1)²之間至少有一個質數。

6、若質數p為不超過n(n≥4) 的最大質數,則p>n/2。

7、所有大於10的質數中,個位數只有1,3,7,9。

二、相關應用

質數被利用在密碼學上,所謂的公鑰就是將想要傳遞的資訊在編碼時加入質數,編碼之後傳送給收信人,任何人收到此資訊後,若沒有此收信人所擁有的金鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(分解質因數)過久,使即使取得資訊也會無意義。

在汽車變速箱齒輪的設計上,相鄰的兩個大小齒輪齒數設計成質數,以增加兩齒輪內兩個相同的齒相遇齧合次數的最小公倍數,可增強耐用度減少故障。

5樓:匿名使用者

根據質數的定義,在判斷一個數n是否是質數時,只要用1至n-1去除n,看看能否整除即可。

還有更好的辦法:先找一個數m,使m的平方大於n,再用小於等於m的質數去除n(n為被除數),如果都不能整除,則n必然是質數。如我們要判斷1993是不是質數,50*50>1993,那麼只要用1993除以<50的質數看是否能整除,若不能即為質數。

100以內的質數有25個,還是比較好記的,只要記熟100以內質數,就可以快速判斷10000以內的數是不是質數。

100以內的質數有2、3、5、7、11、13、17、19、23、29、31、37、41、43、47、53、59、61、67、71、73、79、83、89、97,在100內共有25個質數。

只有1和它本身兩個因數的自然數,叫質數(或稱素數)。(如:由2÷1=2,2÷2=1,可知2的因數只有1和它本身2這兩個約數,所以2就是質數。

與之相對立的是合數:「除了1和它本身兩個因數外,還有其它因數的數,叫合數。」如:

4÷1=4,4÷2=2,4÷4=1,很顯然,4的因數除了1和它本身4這兩個因數以外,還有因數2,所以4是合數。)

6樓:沒名的精靈

根據質數的定義,在判斷一個數是否是質數時,只要用1至n-1去除n,看看能否整除即可。

7樓:鞽鞽

輾轉相除 的方法是判斷兩個數是否互質。

所以判斷是不是質數是行不通的。

應該用質數去嘗試,試到兩個緊挨這的數的時候,還沒有成功,就不要再試了,這個數就是質數。

沒有其他更好的方法,要是有我就會非常非常高興了!!^_^

8樓:

判斷一個數

是質數還是合數,那麼:

1:當這個數大於7時:就用這個數分別取除以2,3,5,7.如果這個數除以2,3,5,7都除不盡那麼這個數就是質數,只要這個數能除盡2,3,5,7的任何一個數那麼這個數就是合數.

2:當這個數小於等於7時你就只需要記得2,3,5,7是質數就行了.

9樓:heh巨蟹

質數又稱素數。一個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。

輾轉相除法是判斷兩個數是否互質的,而不是應用在一個數上,是求兩個數的大公約數。

輾轉相除法的具體做法:用較小數除較大數,再用出現的餘數(第一餘數)去除除數,再用出現的餘數(第二餘數)去除第一餘數,如此反覆,直到最後餘數是0為止。如果是求兩個數的最大公約數,那麼最後的除數就是這兩個數的最大公約數。

這是具體流程圖,判斷一個數是否是質數就是看它能否被除1以外的數整除。

10樓:匿名使用者

約數是成對出現的。比如24,你找到個約數3,那麼一定有個約數8,因為24/3=8。

然後,這對約數必須一個在根號n之前,一個在根號n之後。因為都在根號n之前的話,

乘積一定小於n(根號nx根號n=n),同樣,都在根號n之後的話,乘積一定大於n。

所以,如果你在根號n之前都找不到約數的話,那麼根號n之後就不會有了。

11樓:匿名使用者

一個數,如果只有一和它本身的兩個因數這樣的數叫做質數

12樓:lv呂虎成

好像是除了1,2以外只要不被2,3,5,49整除的數都是質數

13樓:聆聽雨菲

質數就是在所有比1大的整數中,除了1和它本身以外,不再有別的約數,這種整數叫做質數或素數。還可以說成質數只有1和它本身兩個約數。簡單的說,就是這個數只能整除1和本身.

14樓:游擊隊副隊長

只能被1和它本身整除

15樓:裡先明

?(*^ω^*)123457890

判斷數是否是質數判斷一個數是否是質數

根據質數的定義,在判斷一個數n是否是質數時,只要用1至n 1去除n,看看能否整除即可。還有更好的辦法 先找一個數m,使m的平方大於n,再用小於等於m的質數去除n n為被除數 如果都不能整除,則n必然是質數。如我們要判斷1993是不是質數,50 50 1993,那麼只要用1993除以 50的質數看是否...

c 判斷數是否為質數,C 判斷一個數是否為質數

方法一 將m被 2 m 1 之間的每一個整數去除,如果都不能被整除,所以m是一個質數。方法二 將m被 2 m之間的每一個整數去除。如果m不能被 2 m 間任一整數整除,m必定是質數。兩段 的輸出結果相同。輸入一個整數 1 所以1是質數。輸入一個整數 97 所以97是質數。輸入一個整數 10 所以10...

怎麼判斷女孩是不是喜歡你,怎麼判斷一個女孩是不是喜歡你

第一 觀察眼神 二 觀察包的位置 三 觀察約會狀態 四 觀察手勢 五 女生是否主動買單 你喜歡的她是不是也有這幾種表現呢?喜歡你的人會在意你的每個細節 1去探探她好朋友的口風 2變得愛吃醋 3變得愛打扮 4看你的眼神 5適當的肢體接觸。愛情很微妙,很難判斷出ta是不是真的喜歡你,如果判斷失誤那可能就...