【C语言】 经典——判断100以内的素数

/*将100以内的素数用数组保存起来,再将数组里的值打印出来*/
#include <stdio.h>
#include <math.h>

int Pd_Ss(int i);

int main(){
    int a[100] = {0}; //用于存储素数
    int i = 0,k = 0;  //用于循环的计数

    printf("100以内的素数有:\r\n");

    for(i = 2; i<=100 ;i++){  //判断2-100的所有数
        if(Pd_Ss(i) == 1){    //调用函数判断 如果函数返回1,则将i的值录入数组
            a[k++]=i;         //将素数存入数组
        }
    }

    for(i = 0; i<k; i++){
        printf("a[%d]=%d\r\n",i,a[i]);  //输出素数
    }

    printf("\r\n");    //换行
    return 0;
}

int Pd_Ss(int i){       //判断素数的函数
    int j;

    for(j = 2;j * j <= i ; j++){ 
        if(i % j == 0){   //如果取余为0,则返回0(退出函数)
            return 0;
        }
    }

    return 1;    //返回1

}

备注:该程序代码比较基础,所有程序中的变量名比较随意

判断素数的函数(Pd_Ss)的思路:利用循环,判断 i 的值与 j 的平方,当 j 平方小于 i 时,进入循环,判断此时的 i 能否整除 j,如果能整除,说明 i 不是素数,返回0退出函数,否则返回 1;

猜你喜欢

转载自www.cnblogs.com/xdorz/p/11390030.html
今日推荐