文章

28

粉丝

221

获赞

17

访问

90.2k

头像
P1102 素数判定
P1102 兰州大学机试题
发布于2023年2月20日 16:20
阅读数 3.3k

#include <iostream>
#include <math.h>
using namespace std;
int sw(int &a,int &b){
    //该函数用于保障a<b
    int t;
    if(a>b){
        t=a;a=b;b=t;
    }
}
int main(){
    int sum,n[10001];//sum用于累加区间内素数个数,n数组用于记录2到1000内的素数
    for(int i=0;i<1001;i++){
        n[i]=0;//将数组初始化(可以不用)
        for(int j=2;j<sqrt(i)+1;j++){
        //使用sqrt(),是属于数学上的考量,也可以简化筛选过程(进一步的简化是【素数的倍数不是素数】,我这就偷懒了)
            if(i%j==0){n[i]=0;break;}//有数j把i除得尽,就不是素数,跳出
            else {n[i]=1;}//其它情况暂时置1;要是最后没变就是1了
        }
    }
    n[2]=1;//素数筛选下,并没有对2进行合理操作
&nbs...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发