为什么标签里有筛法

P1579 哥德巴赫猜想(升级版)

achjuncool @ 2022-05-21 19:41:08

我寻思着我这最简单最原始的筛法都能AC为什么还要挂筛法

#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int a){
    if(a % 2 == 0) return false;
    for(int i = 3; i <= sqrt(a); i++) if(a % i == 0) return false;
    return true;
}
int main(){
    int n;
    cin >> n;
    if(isPrime(n - 4)){
        cout << "2 2 " << n - 4 << endl;
        return 0;
    }
    for(int i = 2; i <= n; i++){
        if(isPrime(i)){
            for(int j = 2; j <= n; j++){
                if(isPrime(j)){
                    for(int k = 2; k <= n; k++){
                        if(isPrime(k) && i + j + k == n){
                            cout << i << " " << j << " " << k << endl;
                            return 0;
                        }
                    }
                }
            }
        }
    }
    return 0;
}

by ajahjahah @ 2022-05-21 19:46:01

最原始的筛法不是筛法?


by achjuncool @ 2022-05-21 19:46:43

@lao_ba 但既然是最原始的就没必要挂出来了罢


by caramel_qwq @ 2022-05-21 19:47:49

@achjuncool 欧拉筛法,埃氏筛法,·····,你能说只有一种?


by snipper04 @ 2022-05-21 19:48:06

1.本题的数据范围只给到 20000,如果大一点(比如 2e6)原始质数判断会挂

2.有时候(尤其在 CF 里)这种题会搞多测,这时原始也会挂。


by achjuncool @ 2022-05-21 19:49:04

@caramel_qwq 但是如果原始筛法能AC就没必要那么麻烦了(确信


by ajahjahah @ 2022-05-21 19:49:13

@achjuncool 但是至少素数判断得放上吧qwq,素数判断和筛法一起的


by achjuncool @ 2022-05-21 19:50:44

@lao_ba 啊这真的么qwq


by ajahjahah @ 2022-05-21 19:57:10

《素数判断,质数,筛法》自己就是一个标签啊qwq


by achjuncool @ 2022-05-21 19:58:58

@lao_ba 没有单独的素数标签啊qaq


by ajahjahah @ 2022-05-21 20:00:24

@achjuncool 的确啊qwq

刚才说错了,素数判断,质数,筛法是一起的


| 下一页