文章

34

粉丝

179

获赞

13

访问

185.5k

头像
n诺-1375(素数筛选,有其他要求,且要输出)
备考心情
发布于2022年2月25日 19:41
阅读数 5.1k

#include <iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
using namespace std;
int a[10000]={0};
int main(){
    //暴力求解法
    int n;
    while(cin>>n){
        int count=0;
        for(int i=2;i<n;i++){
            for(int j=2;j<=sqrt(i);j++){
                if(i % j==0){  //非素数
                    a[i]=1;  //标记为1
                    break;
                }
            }
        }
        for(int i=2;i<n;i++){

            if(a[i]==0 && i%10==1){
                if(i==n-1){
                    printf("%d",i);
                    count++;
                }
                else{
                    printf("%d ",i);
                    count++;
                }
            }
        }
        if(count!=0) printf("\n");
         else   printf("-1\n");
    }
    return 0;
}

感觉写的还是挺啰嗦的,到后面自己思路都不清楚。

整体思路是把非素数标记为1,然后遍历,遇到没有标记的且尾数为1的就输出来,因为如果一个都没有的话要输出-1,所以加上一个count变量,count!=0说明肯定至少...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发