1. 程式人生 > >【C語言】判斷質數

【C語言】判斷質數

原理:

素數(質數)的定義是***只能被1和他本身整除,1不是素數(質數)***。因此要判斷一個數是否為素數.就要判斷它能不能被比他小的所有素數整除。

這裡給出的是一個更快速的方法。要判斷一個數是否為素數,只要判斷比它開根號後的數小的數能否把它整除。原因如下:

一個數N,它是根號N的平方,那麼如果它有其他約數的話,假設為A,B(約數肯定要成對出現的)必然有一個大於根號N,另一個小於根號N(顯然如果都大於根號N,那相乘結果會大於N;反之會小於N),所以在找的時候,只需找到根號N即可,大於根號N的那些肯定跟小於N的成對匹配,如果小於根號N的約數都沒有,顯然也沒有大於根號N的數與它匹配了

非質數的因子也是非質數