求助为什么这样写不行
查看原帖
求助为什么这样写不行
1028403
封禁用户楼主2023/8/24 10:56

AC 了的:

#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x) {
    if (x == 2) return true;
    for (int i = 2; i * i <= x; i++) {
        if (x % i == 0) return false;
    }
    return true;
}
int main()
{
    int a, b;
    cin >> a >> b;
    int cnt = 0;
    for (int i = a; i <= b; i++) {
        if (isPrime(i)) cnt++;
    }
    cout << cnt;
    return 0;
}

#1 WA 的:

#include <bits/stdc++.h>
using namespace std;
bool isPrime(int x) {
    if (x < 2) return false;
    for (int i = 2; i * i <= x; i++) {
        if (x % i == 0) return false;
    }
    return true;
}
int main()
{
    int a, b;
    cin >> a >> b;
    int cnt = 0;
    for (int i = a; i <= b; i++) {
        if (isPrime(i)) cnt++;
    }
    cout << cnt;
    return 0;
}

就是函数里的特判有区别,为什么下面的不行??

还有我刚才写欧拉筛为啥也不行???

本蒟蒻不明白。。。

哪位 dalao 帮忙解答一下?

2023/8/24 10:56
加载中...