1樓:楊柳風
方法。一、用試除法判斷乙個自然數a是不是質數時,用各個質數從小到大依次去除a,如果到某乙個質數正好整除,這個a就可以斷定不是質數;如果不能整除,當不完全商又小於這個質數時,就不必再繼續試除,可以斷定a必然是質數.
方法。二、只要找出x為乙個奇數和乙個偶數平方差的形式(這是一定的)便可以a2-b2=(a+b)(a-b)便是兩個因數。
例如26341,先找出比26341大的乙個偶平方數,26896,與它的差是555,肯定不是平方數,再下乙個平方數(其實考慮到(x+1)^2=x2+2x+1,因此直接將原數加上2x+1就行了,用不著算x+1的平方),27556, 差1215,也不是,然後28224個位與1的差為3,直接排除,下乙個2559也不是(一看就知道它等於50^2+59)。再下個差為3直接排出,再下個、再再下個……找出規律來就很快了,最後221^2=48841,48841-26341=22500,很明顯22500=150^2,就分解出來了26341=71×371。
2樓:海天一色
用2到這個隨機數的平凡根去除這個隨機數,如果存在餘數為0,就跳出,不是就說明這個隨機數是素數。
素數的判斷方法
3樓:ray聊教育
素數的判斷方法如下: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,以此類推,最終篩選出某一範圍內的所有素數。
判斷乙個數是否為素數有什麼技巧?
4樓:愛教育的小達人
在手頭上沒有質數表的情況下,可以用試除法來判斷乙個自然數是不是質數。例如判斷是不是質數,就可以按從小到大的順序用……等質數去試除。一般情況下用20以內的這8個質數去除就可以了。
根據質數的定義,在判斷乙個數n是否是質數時,只要用1至n-1去除n,看看能否整除即可。還有更好的辦法雹老悉:先找乙個數m,使m的平方大於n,再用小於等於m的質數去除n(n為被除數),如果都不能含敏整除,則n必然是質數。
質數與素數的區別
質數又稱素數。指在乙個大於1的自然數中,除了1和此整數自身外,沒法被其他自然數整除的數。換句話說,只有兩個正因數(1和自己)的自然數即為素數。
比1大但源乎不是素數的數稱為合數。1和0既非素數也非合數。合數是由若干個質數相乘而得到的。
所以,質數是合數的基礎,沒有質數就沒有合數。
這也說明了前面所提到的質數在數論中有著重要地位。歷史上曾將1也包含在質數之內,但後來為了算術基本定理,最終1被數學家排除在質數之外,而從高等代數的角度來看,1是乘法單位元,也不能算在質數之內,並且,所有的合數都可由若干個質數相乘而得到。
判斷乙個數是否為素數的演算法
5樓:電子數碼小能手
我們要判斷素數,首先要知道素數的定義。
素數:質數。
又稱素數。乙個大於1的自然數。
除了1和它自身外,不能被其他自然數整除的數叫做質數;否則稱為合數。
知道了素數的定義,那麼我們應該想一下,如何去判斷乙個數是否為素數?
一種思路是,我們在每次得到乙個數後,都去計算,去嘗試因式分解。
它,看它除了1和自身之外還有沒有其他因子。
另一種是,我們去查閱素數表。
看這個數在不在素數表上。那我們就要先得到素數表。
1-1:稍微動動腦。
思想:根據素數的定義思考。素數是大於1的自然數,除了1和自身外,其他數都不是它的因子。
那我們就可以用乙個迴圈,從2開始遍歷到這個碧型數減去1,如果這個數都不能被整除,那麼液慧橡這個數就是素數。
也就是說:給定乙個數 n , i 從 2 開始取值,直鬧旁到 n - 1(取整數,如果 n % i !=0 , n 就是素數。
進一步思考,有必要遍歷到 n - 1 嗎?
除了1以外,任何合數最小的因子就是2,那最大的因子就是 n/2那我們就遍歷到 n/2就足夠了。
這樣我們就可以寫出這個演算法的核心**:
c語言如何判斷整數,c語言判斷乙個數是否為整數
c語言判斷兩數相除結果是否為整數可採用模運算。是c語言提供的 模運算 符,如8 5表示8整除5,取其餘數,結果為3 c語言要求參與模運算子兩端的數,必須是整型類資料,如 char short int long,unsigned這些型別,不能是浮點型別資料。如,判斷乙個數除以100後是不是整數,該數是...
js判斷數是否是10的倍數,js判斷乙個數是否是10的倍數
1 新建乙個復函式,判制斷引數除以10的餘數是bai否為0,如du果為0則是10的倍數,否則不zhi是10的倍數 dao2 使用之前定義的函式,將需要查詢的數傳入到函式中,這裡以50為例,函式返回 是10的倍數 3 使用之前定義的函式,將需要查詢的數傳入到函式中,這裡以55為例,函式返回 不是10的...
乙個數是另乙個數的十倍 這兩個數的和為220 這兩個數分別是多少?
乙個數是另外乙個數的倍,且這兩個數的和是,這兩個數分別是多少,這個比較簡單,首先假設這個數是a,則另外乙個就是a,因為這兩個數的和是則a a ,從而可以得出a ,則a ,所以這兩個數乙個是,乙個是。設乙個數為x,另乙個數就是x 所以x x x x 另乙個數為 答 這兩個數分別是和 設 這兩個數分別x...