怎樣求素數的判斷,素數的判斷方法

2025-06-01 17:20:10 字數 2063 閱讀 8102

1樓:x狄仁傑

一、查《素數表》,看已知數是否為素數;弊明洞。

二、計算租枯已知數a的平方根√a,分別用不超過√a的各個素數槐哪去試除a,如果所有不大於√a的素數都不能整除a,則a為素數;否則為合數。

例如,判斷1867是否是素數,先算√1867≈,然後分別計算1867除以等素數,都除不盡,則1867為素數。當然,1867不能被整除是很容易判定的。

2樓:網友

質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,沒法被其他培逗自然數整除的數。如13,只能被1和13整除。

所以要判斷a是否是素數,只要判斷a能否被2到a-1之間的數整除,如果能則說明a能被1和a之外的數整除,即a不是素數;如果不能則說明a只能被1和a整除,即a是素數。

但是這樣的判斷方法做了很多無用功,假設b能整除a,c為商(即配指賣a=b*c)。則b和c的大少關係有兩種:一種b,c中一大一小(又a=√a*√a,所以b,c中乙個大於√a乙個數小於√a),另一種b=c(此時,√a=b=c)。

故如果a能被大於√a的數整除則一定存在乙個小於√a的數能整除a。所以只要判斷2到√a的整數是否能整除a就行了。

例如逗拿求1000以內的素數:

#include

#include

void main()

int i,a,b;

for(a=2;a<=1000;a++)

b=sqrt(a);/求a的平方根。

for(i=2;i<=b;i++)

if(a%i==0)

break;

if(i>b)//如果i>sqrt(a)則說明2到sqrt(a)之間沒有數可以整除a,故a為素數。

printf("%4d",a);

素數的判斷方法

3樓:社會民生小助手

素數的判斷方法如下:

1、定義判斷法:

根據定義所有素數都是大於1的自然數,那麼小於等於1的數都沒有素數的概念。數字2只有1和2兩個因數,因而必定是素數,其他數字x只要判定從2到x-1都無法被它整除,就證明改數字是素數。

2、資料理論法:

根據數論理論可以把數字分成6個大部分,6i,6i+1,6i+2,6i+3,6i+4,6i+5,也就是說數字x%6計算的值一定是0,1,2,3,4,5這6個數字,而6i,6i+2,6i+3,6i+4一定就是合數,它們都有除了1之外的因數,只有6i+1和6i+5可能是素數,因而一旦判定數字大於等於且6取模結果為0,2,3,4就可以判定不是素數。

3、篩選法:

就是從2開始可以知道2的所有倍數都是合數,不是2的倍數可能是素數,第乙個不是2的倍數的數一定是素數,也就是3,接著將3的倍數全部篩選掉,第乙個不是2的倍數也不是3的倍數的數一定是素數也就是5,以此類推,最終篩選出某一範圍內的所有素數。

質數又稱素數。乙個大於1的自然數,除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數(規定1既不是質數也不是合數)。

判斷素數的方法

4樓:始終做好自己

判斷素數的方法:判斷n是否為素數只需用2~n/2或2~n之間的數去除就可以了,常用2~n/2,因為乙個數的一半的平方大於其本身是從5開始的,解方程:n/2的平方》n 。

即乙個數n的兩個因數不能同時比n/2大。就可以說乙個數若不是素數則一定在2~n/2之間有因數。而且2,3也是符合下面程式的。

素數(又稱質數):就是除了1和它本身,沒有其他因子的整數。注:1既不是素數,也不是合數。

例如17是素數,因為它不能被2~16間。任意一整數整除。因此判斷乙個整數m是否為素數,只需用2~m-1之間的每乙個整數去除,如果都不能被整除,那麼m就是乙個素數。

其實可以簡化,m不必被2~m-1之間的每乙個整數去除,只需被2~根號m之間的每個數去除就可以了。例如判別17是否為素數,只需使2~4之間的每乙個整數去除。為什麼可以做如此簡化呢?

因為如果m能被2~m-1之間任意整數整除,如果這個數大於根號m,那這個數必定對應的還有乙個比根號m小的因子(以16為例是它的因子,8大於4,2小於4)。

編一程式,判斷自然數n是否為素數 素數是隻能被1和它本身整除

用vb的 du dim i n pd as booleanpd true for i 2 to n 1 if n mod i o then pd falsenext if abc then print n 是素數 zhi else print n 不是素數 end if c語言的 dao void ...

如何判斷數是不是素數,如何判斷一個數是不是素數????

方法一 用試除法判斷一個自然數a是不是質數時,用各個質數從小到大依次去除a,如果到某一個質數正好整除,這個a就可以斷定不是質數 如果不能整除,當不完全商又小於這個質數時,就不必再繼續試除,可以斷定a必然是質數 方法二 只要找出x為一個奇數和一個偶數平方差的形式 這是一定的 便可以a2 b2 a b ...

素數判斷問題為什麼從2開始到該整數的平方根

判斷一抄個數是否素數,只需襲判斷它是否有非bai1,非本身的正因子。du 一般演算法都是從 zhi2開始判斷,dao設該數是n,假如n有大於 根號n 的因子,那麼它的另一個因子必小於 根號n,那麼計算機運算時查到這個因子時就可判斷它不是素數,因此只需到平方根,而不必查到 n 1 因為如果整數m有一個...