美文网首页
B1013 数素数 (20分)

B1013 数素数 (20分)

作者: km15 | 来源:发表于2020-02-10 16:34 被阅读0次

/*
题意::
1、给出两个数(小于10的4次方),给出两个数之间的所有数字(两个数代表的是第几个素数
输出要求,10个数字1行,其间空格,但是末尾不要空格

解题:
1、直接得出10的4次方以内的素数表
2、然后枚举从N到M的素数
3、一个计数count,是素数+1,每十个输出一个换行
4、并且count小于10,也输出空格

learn && wrong:
1、运行窗口没关闭就再次编译也会这样,id blabla错误
2、如果空格没法看清楚,可以换个符号,感叹号之类的
3、用筛法或非晒法都行,但是加一个if(num >= n) break;更好
4、下标从0开始,所有左端点应该是-1,而且题目说从N~M,所有右端点是闭的
5、最重要是这个,count++余上10不等于0并且i < n,输出空格,不然输出换行符
这一部实现了每十个一换行,10个以内有空格!

6、重置count为0有个过不了,标准答案就全过了
*/

#include <iostream>
#include <cmath>
using namespace std;

const int maxn = 100100;
//判断是否素数 
bool isprime(int n){
    if(n <= 1) return false;
    int sqr = (int)sqrt(1.0 * n);
    for(int i = 2;i <= sqr;i++){
        if(n % i == 0) return false;
    }
    return true;    
} 

//素数表 
int prime[maxn],num = 0;
bool p[maxn] = {0};
void find_prime(int n){
    for(int i = 2;i <= maxn;++i){
        if(isprime(i) == true){
            prime[num++] = i;
            p[i] = true;
            if(num >= n)
             break;//!!!
        }
    } 
}

int main(int argc, char** argv) {
    int N,M;

    cin>>N>>M;
    find_prime(M);// 生成素数表
    
    int count = 0;  //计数的,判断输出空格还是换行 
    for(int i = N;i <= M;++i){  //!!!要求输出第几个,直接从prime计算就可以了啊~!我服了   !!!从0开始,记得减1 
        cout<<prime[i - 1];         //还有,输出N~M之间的素数,其实也好办呀,也是遍历,然后prime[i]>n && prime[i]<M就行了 
        count++;
        if(count % 10 != 0 && i < M) cout<<" ";
        else if(count == 10) {  //!!!这个会有一个过不了,原因不知道,标准答案全对
            cout<<endl;  
            count = 0; 
        } 
    }    

    return 0;
}

相关文章

  • B1013 数素数 (20分)

    /*题意::1、给出两个数(小于10的4次方),给出两个数之间的所有数字(两个数代表的是第几个素数输出要求,10个...

  • 第六章第二十六题(回文素数)(Palindromic prime

    **6.26(回文素数)回文素数是指一个数同时为素数和回文数。例如:131是一个素数,同时也是一个回文素数。数学3...

  • 数素数

    令Pi表示第i个素数。现任给两个正整数M <= N <= 104,请输出PM到PN的所有素数。输入格式:输入在一行...

  • 孤独的素数,孪生素数

    什么是素数。 素数是我们小学就学习过的数学概念。 素数是指在大于1的自然数中,除了1和该数自身外,无法被其他自然数...

  • JS if判断,for,while,dowhile 循环试题

    素数 题目:判断 101-200 之间有多少个素数,并输出所有素数。 水仙花数 题目:打印出所有的 "水仙花数",...

  • 实验吧找素数及Python实现

    素数……好像忘了诶 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在...

  • PAT-B-1013. 数素数(Java)

    1013. 数素数 (20)

  • 埃拉托斯特尼素数筛选法

    素数的定义:大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数称为 素数(Prime Number),...

  • 素数

    1、素数的定义:(1)除了1和本身之外,不能被其他数整除的一类数(2)注意1既不是素数,也不是合数 2、素数的判断...

  • 素数及完全数的筛选

    一、求取100以内的素数 由素数的概念可知,其只能被1和自身整除,也就是说,若该数为i,那么要想其为素数,小于该数...

网友评论

      本文标题:B1013 数素数 (20分)

      本文链接:https://www.haomeiwen.com/subject/icqaxhtx.html