1樓:青孝羽歌
演算法如下:第一步,給定大於2的整數n.
第二步,令i=2.
第三步,用i除n,得到餘數。
r.第四步,判斷「r=0」是否成立。若是,則n不是質數。
結束演算法;否則,將i的值增加1,仍用i表示。
第五步,判斷「i>(n-1)」是否成立。若是,則n是質數,結束演算法;否則,返回第三鉛凳步。
分析:對於任意的整悶並數n(n>2),若用i表示2—(n-1)中的任意整數,則「判斷n是否為質數」的演算法包含下面的重複操作:用i除n,得到餘數r.
判斷餘數r是否為0,若是,則不是質數;否則,將i的值增加1,螞激跡再執行同樣的操作。
這個操作一直要進行到i的值等於(n-1)為止。
2樓:曠玉蓉叢儀
設要判斷的數是n,判斷的和銀差定義是能否找到整數x,y使得。xyn。假設x,y存在,顯然。
xx的平方小於n
x小於n的平方根。
2.若。x=y
y的平方小於n
y小於n的平喚皮方根。
所以說,無論x、y怎麼取值,x和y中總會有乙個數小於或等於n的平方根搏拍。
所以我們只用判斷1到n的平方根之間的數就可以了。
如何判斷質數?
3樓:網友
判斷質數的最快方法如下:
1、查表法:
主要是指查「質數表」。
編制質數表的過程是:按照自然數列,第乙個數1不是質數,因此要除外,然後按順序寫出2至100的所有自然數,這些數中2是質數,把它留下,把2後面所有2的倍數劃去,2後面的3是質數,接著再把3後面所有3的倍數劃去,如此繼續下去,剩下的便是100以內的全部質數。
2、試除法:
在手頭上沒有質數表的情況下,可以用試除法來判斷乙個自然數是不是質數。例如判斷是不是質數,就可以按從小到大的順序用……等質數去試除。一般情況下用20以內的這8個質數去除就可以了。
原理簡析:由合數的意義可知,只要判斷乙個數除了1和它本身還有別的因數,這個數就是合數。因為因數是成對出現的,所以只要判斷前一半即可。
10^2=100,而10以內的質數只有,所以只要劃掉的倍數即可除外)。
重點來了的倍數一眼就能看出,3的倍數只需計算數字和(1位數+1位數),7的倍數除去的倍數及九九表內的數,只剩下77和91,而77又可以一眼看出是合數,所以只剩乙個數——91!
簡單歸納一下:100以內除了91,個位數字是的,數字和不是3的倍數的都是質數。
舉個例子,79
第一秒,不是九九表內數字,不是的倍數,不是;
第二秒,7+9=16,不是3的倍數。
第三秒,機動時間、檢查時間。
如何判斷質數
4樓:網友
正確而迅速地判斷乙個自然數是不是質數,在數的整除性這部分知識中,是一項重要的基本技能。
由於大於2的質數一定是奇數(奇數又不一定都是質數),所以,在判斷乙個自然數是不是質數時,首先要看它是奇數還是偶數。如果是大於2的偶數,這個數肯定不是質數,而是合數;如果是奇數,那就有可能是質數,可以用試除法來判斷乙個自然數是不是質數。例如判斷是不是質數,就可以按從小到大的順序用……等質數去試除。
一般情況下用20以內的這8個質數去除就可以了。如143,這個數的個位是3,排除了被整除的可能性,它各位數字的和是1+4+3=8,也不可能被3整除,通過口算也證明不能被7整除,當試除到11時,商正好是13,到此就可以斷定143不是質數。
對179試除過程如下:
當179÷17所得到的不完全商10比除數17小時,就不需要繼續再試除,而斷定179是質數。這是因為都不是179的質因數,因此,179不會再有比17大的質因數,或者說179不可能被小於10的數整除,所以,179必是質數無疑。
綜上所述,用試除法判斷乙個自然數a是不是質數時,只要用各個質數從小到大依次去除a,如果到某乙個質數正好整除,這個a就可以斷定不是質數;如果不能整除,當不完全商又小於這個質數時,就不必再繼續試除,可以斷定a必然是質數。
判斷是否為質數
5樓:民辦教師小小草
令n=√n*√n=x*y
當存在質數x,y使n=x*y,且x>√n,則y<√n在驗證到√n之前,就必然會驗證到y,所以,不用驗證到大於√n的質因數x
6樓:網友
只能被1或它本身整除的數就是質數,所以如果n是質數,那麼n肯定不能被2到【根號n】的所有數整除。
7樓:匿名使用者
設 a 可分解為 mn, m,n>1
則不妨設 m 不大於 n
這樣 a 不小於 m^2
即 m 小於等於 根號a, 這樣就說明如果 a 是合數,則必有 2 到 根號a 的因子。
8樓:水刃星辰
去看數論,這個沒有原因。
請寫出判斷n(n>2)是否為質數的演算法.
9樓:帽帽回粉
演算法如下:
第一步,給定大於2的整數n.
第二步,令i=2.
第三步,用i除n,得到餘數r.
第四步,判斷「r=0」是否成立。若是,則n不是質數,結束演算法;否則,將i的值增加1,仍用i表示。
第五步,判斷「i>(n-1)」是否成立。若是,則n是質數,結束演算法;否則,返回第三步。
分析:對於任意的整數n(n>2),若用i表示2—(n-1)中的任意整數,則「判斷n是否為質數」的演算法包含下面的重複操作:用i除n,得到餘數r.
判斷餘數r是否為0,若是,則不是質數;否則,將i的值增加1,再執行同樣的操作。 這個操作一直要進行到i的值等於(n-1)為止。
「判斷n是否為質數」的演算法
10樓:匿名使用者
這裡的i>(n-1)如果是成立,則說明在2-(n-1)之間沒有可以整除n的,也就說明n是質數,而如果不是,則i還未到n-1,不知道在i到n-1之間會不會有可以整除n的數,因此要返回步驟3繼續判斷i+1。如果還不理解可以追問。
11樓:聶老師講數學
不用背100以內的質數。
判斷整數n(n>2)是否為質數的程式設計
12樓:匿名使用者
關於素數的判定。
所謂「篩選法」指的是「埃拉托色尼(eratosthenes)篩法」。他是古希臘的著名數學家。他採取的方法是,在一張紙上寫上1到100全部整數,然後逐個判斷它們是否是素數,找出乙個非素數,就把它挖掉,最後剩下的就是素數。
具體做法如下:
1> 先將1挖掉(因為1不是素數)。
2> 用2去除它後面的各個數,把能被2整除的數挖掉,即把2的倍數挖掉。
3> 用3去除它後面的各數,把3的倍數挖掉。
4> 分別用…各數作為除數去除這些數以後的各數。這個過程一直進行到在除數後面的數已全被挖掉為止。例如找1~50的素數,要一直進行到除數為47為止(事實上,可以簡化,如果需要找1~n範圍內素數表,只需進行到除數為n^2(根號n),取其整數即可。
例如對1~50,只需進行到將50^2作為除數即可。)
如上演算法可表示為:
1> 挖去1;
2> 用剛才被挖去的數的下乙個數p去除p後面各數,把p的倍數挖掉;
3> 檢查p是否小於n^2的整數部分(如果n=1000, 則檢查p<31?),如果是,則返回(2)繼續執行,否則就結束;
4> 紙上剩下的數就是素數。
#include
#include
int main(void)
int n = 0; // 對輸出素數計數, 以控制換行顯示。
for (i = 2; i <= 100; i++)// 輸出素數。
if (n == 10) }
printf("");
return 0;
執行結果(vc):
13樓:匿名使用者
用n去除以1~根號n的整數部分,如果都不能整除,那就是質數。
質數的因數也一定是質數判斷對錯,一個質數的因數也一定是質數判斷對錯
因為1是任何非0自然數的因數,1既不是質數也不是合數.所以一個質數的因數也一定是質數.出說法錯誤.故答案為 錯誤.大於2的兩個質數的積一定是奇數.判斷對錯 答案為對,因為大於2的質數均為奇數,兩個奇數相乘結果仍為奇數。一 質數簡介 質數,又稱素數,定義為大於1並且除了1和它本身之外不能被任何自然數整...
如何選擇刀片的材質,數控刀片如何判斷材質?
按照慣例,刀片材質的選擇通常基於所涉及的是粗加工還是精加工工序,當然這只是高溫合金車削考慮的其中一個方面。在高溫合金車削中,塑性變形作為一種磨損形式,始終是一個存在的風險,需要改善刀片材質來避免或減小。另一方面,溝槽磨損作為另一種主要磨損形式,它主要由進入角的大小和所用刀片的形狀來決定。因此,材質選...
怎麼判斷1163是不是質數呢
沒有最簡單的方法,不過你可以將從開始除,一直除到根號項 大約為 其中如粗橘果是,,等的銀檔倍數也可以直接去除。嘗試用鋒凳亂小的質數去除,如果不能整除,則是質數。不知道你是否接受這種方法設乙個數為p,埃拉託斯特尼篩法 先對這個數p開方 p 然後對這個開出來的數取整數部分 p 然後,用小於等於這個整數 ...