[code] PTA 胡凡算法笔记 DAY046

Posted wait_for_that_day5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[code] PTA 胡凡算法笔记 DAY046相关的知识,希望对你有一定的参考价值。

文章目录

题目 B1013 数素数

  • 题意
    输入m,n,输出第m个素数到第 n个素数之间所有的素数(包含两端)。

  • 思路
    为了不要每次输出的时候去判断要输出哪个数,先利用初始化函数,初始化好第m到第n个素数的值,然后写好判断素数的函数和控制输出格式即可。

  • Code in C++

#include <cstdio>
#include <cmath>
const int MAXN = 10001;
long long prime[MAXN];

bool isPrime(long long num)

    if (num <= 1) return false;
    for (long long i = 2; i <= std::sqrt(num); ++i)
    
        if (num % i == 0) return false;
    
    return true;


void init(int s, int e)

    int count = 0;
    for (long long i = 2; count < e; ++i)
    
        if (isPrime(i))
        
            ++count;
            if (count >= s)
                prime[count-s] = i;
        
    


int main()

    int m, n;
    scanf("%d %d", &m, &n);
    init(m, n);
    for (int i = 0; i <= n - m; ++i)
    
        if (i % 10)
            printf(" ");
        else if (i != 0)
            printf("\\n");
        printf("%lld", prime[i]);
    
    return 0;



小结

就是简单地在判断素数的基础上加了一层,找第几个素数的问题。

以上是关于[code] PTA 胡凡算法笔记 DAY046的主要内容,如果未能解决你的问题,请参考以下文章

[code] PTA 胡凡算法笔记 DAY041

[code] PTA 胡凡算法笔记 DAY054

[code] PTA 胡凡算法笔记 DAY054

[code] PTA 胡凡算法笔记 DAY055

[code] PTA 胡凡算法笔记 DAY055

[code] PTA 胡凡算法笔记 DAY052