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
刚才说错了,素数判断,质数,筛法是一起的