文章
34
粉丝
179
获赞
14
访问
204.8k
#include <iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
using namespace std;
int main(){
//输入一个整数,判断该整数是否为素数,若是,输出该整数,若否,输出大于该整数的第一个素数
int n;
//int flag=0;
cin>>n;
if(n==1) n++;
for(int i=n;;i++){ //这里不应该写10000,因为他还要找到下一个素数
int flag=0; //flag的位置不能弄错,不然没输出,因为可能第一个就是素数然后flag变成1了,然后就变不回来了,导致无输出
for(int j=2;j<=sqrt(i);j++){
if(i % j ==0){ //不是素数
flag=1;
break;
}
}
if(flag==0){
printf("%d",i);
break;
}
}
return 0;
}
与1355题相互参考,并注意怎样判断素数。
判断素数,从2到该数的前一个,看这个数是否能除尽,可以的话就不是素数(只要判断到该数的根号就可以)
登录后发布评论
暂无评论,来抢沙发