关于素数

Posted hkttg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于素数相关的知识,希望对你有一定的参考价值。

#include<cstdio>

using namespace std;

//素数判定 

bool cheak1_1(int n) {
    for (int i = 2; i * 2 <= n; i++)
        if (n % i == 0) 
            return 0;
    return 1;
}

bool cheak1_2(int n) {
    int lim = (int) sqrt(n) + 1;
    for (int i = 2; i <= lim; i++) 
        if (n % i == 0)
            return 0;
    return 1;
}

//素数筛法 

bool cheak2_1(int n) {
    for (int i = 2; i <= n; i++)
        if (!pd[i])
            for (int j = i + i; j <= n; j += i) 
                pd[j] = 1;
}

bool cheak2_2(int n) {
    for (int i = 2; i <= n; i++) {
        if (!vis[i]) 
            prim[++num] = i;
        for (int j = 1; j <= num && pr[j] * i <= n; j++) {
            vis[pr[j] * i] = 1;
            if (i % pr[j] == 0) 
                break;
        }
    }
}

 

以上是关于关于素数的主要内容,如果未能解决你的问题,请参考以下文章

算法零基础学习关于素数的那些事儿

这个代码片段有啥作用?

关于Java大整数是否是素数

关于欧拉筛筛素数

C语言,求15以内的素数,关于num=1时,怎么修改?求大神

关于代码片段的时间复杂度