文章

34

粉丝

179

获赞

13

访问

184.5k

头像
n诺-1013(判断素数,若不是,找到该数之后的第一个素数)
备考心情
发布于2022年2月25日 17:25
阅读数 3.9k

#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到该数的前一个,看这个数是否能除尽,可以的话就不是素数(只要判断到该数的根号就可以)

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发