#include "stdafx.h"

#include <stdio.h>

#include <stdlib.h>

 

int is_prime (int n);                                //檢查是否為質數的函式雛型

int main(int argc, char* argv[]){

       

        int t=1,trgnum;

        printf("===找質數程式===\n");

        printf("請輸入最後終止的數==>");

        scanf("%d", &trgnum);

        printf("\n\n");

        printf("1-%d的所有質數如下:\n",trgnum);

        for(int i=2;i<=10000;i++){                       //測試11000分別是否為質數(1不是質數,所以從開始)

                if (is_prime(i)){                       //是質數的話就印出來

                        printf("%4d, ",i);

                        if((t++%12) == 0)             //t判斷是否需要換行(一行12個數字)

                                printf("\n");

                }

        }

        printf("\n\n");

        system("PAUSE");

        return 0;

}

int is_prime (int n){

        int is_prime_bool=1;

        for(int j=2;(j*j)<n;j++){                            //找出所有的因數(不含自己)

                if (n % j == 0 && j != 1){          //除了1之外,是否有其他數字可以整除它(因數)

                        is_prime_bool=0;            //它就不是質數

                        break;                              //以下的數字就不用判斷(加快程式執行的速度)

                }

        }

        return is_prime_bool;

}

arrow
arrow
    全站熱搜

    Johnny 鋼鍊 發表在 痞客邦 留言(2) 人氣()