AT261 与えられた数より小さい素数の個数について 题解

一个简单的素数判断。

我就写了个最暴力的素数判断,$dalao$勿喷。

话不多说,上代码,代码中有注释,自己看。

$code$

#include<cstdio>
using namespace std;
bool is_prime(int);//素数判断的函数
void work();
int n;
int main() {
    work();
    return 0;
}
bool is_prime(int x) {
    if(x==1) return false;//众所周知,1不是个素数!
    for(int i=2; i*i<=x; i++)
        if(x%i==0) return false;//如果发现这个数不止有2个因数,那么它就不是个素数。
    return true;
}
void work() {
    int ans=0;
    scanf("%d", &n);
    for(int i=2; i<=n-1; i++)
        if(is_prime(i)) ans ++;//如果它是个素数,ans++
    printf("%d\n", ans);//貌似AT这个OJ上输出的时候后面必须要加个回车,不然就WA了。害得我也WA了一次
}
posted @ 2018-08-28 22:01  Aehnuwx  阅读(319)  评论(0编辑  收藏  举报