[計實務程設]找質數程式

#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;


}