zoukankan      html  css  js  c++  java
  • 数学问题_素数筛法

    例4.6 素数判定 (1047)

    题目描述:给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。
    输入:测试数据有多组,每组输入一个数n。
    输出:对于每组输入,若是素数则输出yes,否则输入no。
    样例输入:
    13
    样例输出:
    yes
    
    #include<stdio.h>
    #include<math.h>
    using namespace std;
    bool judge(int x){
        if(x<=1) return false;
        int bound=(int)sqrt(x)+1;
        for(int i=2;i<bound;i++){
            if(x%i==0)
                return false;
        }
        return true;
    }
    int main(){
        int x;
        while(scanf("%d",&x)!=EOF){
            puts(judge(x)?"yes":"no");
        }
        return 0;
    }

    例4.7 素数 (1163)

    题目描述:输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。
    输入:输入有多组数据。每组一行,输入n。
    输出:输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。
    样例输入:
    100
    样例输出:
    11 31 41 61 71
    
    #include<stdio.h>
    int prime[10000];
    bool mark[10001];
    int primeSize;
    void init(){
        for(int i=2;i<=10000;i++)
            mark[i]=false;
        primeSize=0;
        for(int i=2;i<=10000;i++){
            if(mark[i]==true) continue;
            prime[primeSize++]=i;
            for(int j=i*i;j<=10000;j+=i){//因为i*k(k<i)必被k标记过 
                mark[j]=true;
            }
        }
    }
    int main(){
        init();
        int n;
        while(scanf("%d",&n)!=EOF){
            bool isOutput=false;//表示是否有过输出,第一个输出的数字以外均需在输出前附加一个空格 
            for(int i=0;i<primeSize;i++){
                if(prime[i]<n&&prime[i]%10==1){
                    if(!isOutput){
                        isOutput=true;
                        printf("%d",prime[i]);
                    }
                    else
                        printf(" %d",prime[i]);
                }
            }
            if(!isOutput) printf("-1
    ");
            else printf("
    ");
        }
        return 0;
    }
  • 相关阅读:
    系统数据查询耗时优化解决方案
    Mybatis逆向工程
    微服务架构下的分布式数据管理
    分布式或微服务架构中的分布式锁应用
    word 常用宏代码
    office2003?2007共存?版本各自打开的解决方案
    word域3
    2014新版《安全生产法》测试题
    Excel与Word套打功能使用技巧及EXCEL数据处理成绩
    word域2
  • 原文地址:https://www.cnblogs.com/exciting/p/8428017.html
Copyright © 2011-2022 走看看