1. 程式人生 > >求1-N之間的素數

求1-N之間的素數

一、什麼是素數:

        素數(prime number)又稱質數,有無限個。一個大於1的自然數,除了1和它本身外(因為1既不是素數,也不是合數),不能被其他自然數(質數)整除,換句話說就是該數除了1和它本身以外不再有其他的因數.
比如:2,3,5,7,11,…等。

二、如何判斷一個數是否為素數:

        該數除了1和它本身以外不再有其他的因數,通俗的講,就是隻能被1和這個數本身整除,不能被其它數整除
程式碼實現:

for (j = 2; j<i; j++)//j不能從1開始,因為1能整除任何數,所以j從2開始
{
   if (i%j == 0) 
        break
; if (i == j) printf("%d ", i); }

三、找出1-N之間的素數:

實現思路:
        先判斷這個數是否為素數,如果是,輸出這個數,如果不是,則判斷下一個數是不是素數;

程式碼實現:

void FindSuShu(int n)
{
    int i = 0, j = 0;
    int count = 0;
    for (i = 1; i <= n; i++)
    {
        for (j = 2; j < i; j++)
        {
            if (i%j == 0)
                break
; } if (i == j) { printf("%d ", i); count++; if (count % 5 == 0) printf("\n"); } } } int main() { int n = 0; scanf("%d", &n); FindSuShu(n); printf("\n"); return 0; }

四、執行結果:

這裡寫圖片描述