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

2021-03-04 04:27:33 字數 2471 閱讀 9959

1樓:匿名使用者

判斷一抄個數是否素數,只需襲判斷它是否有非bai1,非本身的正因子。du

一般演算法都是從

zhi2開始判斷,dao設該數是n,假如n有大於 根號n 的因子,那麼它的另一個因子必小於 根號n,那麼計算機運算時查到這個因子時就可判斷它不是素數,因此只需到平方根,而不必查到 n-1

2樓:匿名使用者

因為如果整數m有一個比它的平方根m^(1/2)還要大的因數的話,即m=k1*k2,其中,k1>=m^(1/2)+1,則其另一個因回數k2<=m^(1/2).因此,整數答m的因數(如果有的話)只需考察到m的平方根即可。

3樓:

對任意合數n,根據定義可以設n=pq(p<=q)則p<=根號n從而若n>1且不是素數,則它的最小素因子一專定不超過p,從而不超過根屬號n。

由此得上面的演算法,即只需要檢驗正整數的最小素因子即可。

希望對你有所幫助!

判斷一個數是否是素數,為什麼除到其平方根就可以了

4樓:咎蘿醜山彤

因為如果一個數不是素數是合數,

那麼一定可以由兩個自然數相乘得到,

其中一個大於或等於它的平方根,一個小於或等於它的平方根。並且成對出現。

5樓:匿名使用者

因為如果它不是質數,那麼它一定可以表示成兩個數(除了1和它本身)相乘,這兩個數必然有一個小於等於它的平方根。只要找到小於或等於的那個就行了

c語言中,為什麼可以用平方根判斷素數?請說得詳細點。謝謝! 急!!!

6樓:匿名使用者

你理解錯了。

不是用平方根判斷素數,而是最大取到平方根的整數,可以有效減少迴圈的次數。這個屬於程式的優化。

c語言素數判斷為什麼只迴圈到平方根就行

7樓:霧月の沉默

這兒有你想要的bai回答

因為如果n可以被du一個zhi數整除,那麼其中一個數一定小於等dao於n開方,

內另一個大於等於n的開方,所以容只需要算到這兒,到後面就是多餘的了

8樓:倒黴熊

素數是抄

除1和本身

外,沒有襲其他因子。

假設 這個數baix的 平方根

du為 a。

證明,比a大的比本身zhix小的dao沒有比較的必要。

假設 b >a ,且是x的因子,那麼一定存在一個c使 c*b =x,且 ca,若c>a,則 b*c>x)

那麼判斷到c的時候,就知道x不是素數了,所以沒有必要往下走了。

9樓:

因為一個數的因數都抄

是成對的,比如

12=1 *12

=2*6

=3*4

=4*3

=6*2

=12*1

比如25

25=1*25

=5*5

=25*1

如果到了他的根號,還沒有一個因子出現,那麼後半部分也不會有因子出現了

10樓:匿名使用者

一個數,不可能被比自己一半大的數整除。

簡單來說,4x4=16,16不可能被比8大的數整除。

這是數學規律,可以減少一半的迴圈次數,大大提高程式效率

11樓:匿名使用者

這個迴圈只會在有數可以把n整除的時候break,中止掉。你的判斷是從2開始的這種判斷素數的方法效率太低了點,你去看看一些基礎教c語言的書裡講判斷素數

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

12樓:

#include

void main()

假設一個數不是素數的話,那麼它就是合數,即意味著這個數可以由兩個版自然數相權乘得到,

其中一個大於或等於它的平方根,另一個小於或等於它的平方根。並且成對出現。因此,判斷一個數是否為素數,只需判斷從2開始到該整數的平方根範圍內是否有整數能整除該數,有則為合數,無則為素數。

13樓:己優翁憶雪

判斷一個數是

否素抄數,只襲需判斷它是否有非1,非本bai身的正因子du。一般演算法都是從2開始判zhi斷,設該數是n,假如daon有大於根號n的因子,那麼它的另一個因子必小於

根號n,那麼計算機運算時查到這個因子時就可判斷它不是素數,因此只需到平方根,而不必查到n-1

為什麼求素數的時候到那個數的平方根就可以了呢

14樓:匿名使用者

假設數m=p*q,且p≤q則m=p*q≥p*p即p≤√m所以m必有一個小於或等於其平方根的因數,那麼驗證素數時就只需要驗證到其平方根就可以了

手機問題。為什麼2卡的預設卡換不了

有的手機是固定的 你可以關機後 把兩個卡調換一下位置看看 電腦配置沒問題,為什麼會感覺卡,是不是系統問題 這配置不錯了,玩lol還卡,那是不是網路有問題啊,移動網?可以先清理下啟動專案,去掉多餘的開機專案。然後整理磁碟碎片,清理垃圾。在電腦管家主介面上點選 清理垃圾 確認相關垃圾型別被勾選後,點選 ...

中國聯通招聘面試問題為什麼選擇聯通公司該怎麼回答

因為想自己專業對口,想穩定發展,而聯通能提供給我自我發展的平臺 面試時候主考官問你為什麼會選擇來聯通公司上班要怎麼回答?可以回答 聯通公司是一家全球性的大規模的公司。論待遇,論發展,論管理都是每個人都非常向往的公司。同時自己能在貴公司得到很好的鍛鍊和學習,同時也會給貴公司帶來效益。也能在這裡展現個人...

高數問題為什麼圖中框到的兩部分相等

冪次部分,積分 1 tanxdx cosx sinxdx ln sinx c。這裡選擇不定積分的結果是lnsinx,經過指數運算後是sinx。tan sin cos e的上面積分中得到 ln 高數,導數題,圖中圈出來的兩個部分是怎麼求出來的?求具體過程 第一個,因為積分上下限都為0,得出積分為0 第...