思路:判斷乙個數n是否為素數,分別將2到[根號n](即根號n取整)作為除數,若都不整除,則n為素數。
第一次**:
#include
#include
#include
/* 找出1到n內所有素數.c */
/* written by chen gengru */
/* updated on 2018-11-2 */
intmain()
}if(j ==0)
}return0;
}
結果:
發現並不是想象中的結果,前幾個素數總是不能輸出。事實上,小於等於根號n取整的素數都無法輸出。
這是怎麼回事呢?原來,文章開頭所說的分別以2到根號n取整作為除數在這段**裡應該解釋為:分別以2到根號ip取整,而並不是拿作為上限判斷的n來開根號作除數。
修改:
#include
#include
#include
/* 找出1到n內所有素數.c */
/* written by chen gengru */
/* updated on 2018-11-2 */
intmain()
}if(j ==0)
}return0;
}
輸出n以內所有的素數
目錄描述輸出n以內所有的素數。保證 n 是100以內的整數。樣例輸入 5 輸出 2,3,5 方法一 include include include using namespace std 判斷乙個整數是否為素數 bool isprime int n int num sqrt n 從 2,sqrt n...
輸出1到1000之間的所有素數
題目 輸出1到1000之間的所有素數 質數 prime number 又稱素數,有無限個。質數定義為在大於1的自然數中,除了1和它本身以外不再有其他因數,這樣的數稱為質數。思路 偶數肯定不是素數,所以遞增的時候可以以奇數的形式遞增,再在奇數中去掉非質數的數。1 include2 3using nam...
PHP輸出1到n所有素數及素數和的三種演算法
素數是只能被1和本身整除的數 下面用php輸出1到n所有素數及素數和 思路 給定數n,得到2到n之間所有的數,然後依次判斷其中的每乙個數 能否被2到該數 1整除,如果被整除,則該數不為素數 演算法如下 function primes n s false if sign primes i 將判斷為素數...