endl改成'\n'
因为endl很慢
by _czy @ 2024-02-03 16:19:12
@[Allen_Z](/user/514463) `bool f(int n)` 定义为 `bool` 类型,需要有返回值。
洛谷编译器会在 O2 环境下将无返回值的非 `void` 函数优化为死循环。
by Terrible @ 2024-02-03 16:41:26
@[Terrible](/user/195942) @[_czy](/user/742275) 谢谢大佬
by Allen_Z @ 2024-02-04 21:40:35
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
bool is_prime(int n){
for(int i = 2; i * i <= n; ++i){
if(n % i == 0){
return false;
break;
}
}
return true;
}
int main() {
int N;
cin >> N;
for (int i = 4; i <= N; i += 2) {
cout << i << "=";
for(int j = 2; j < i; ++j){
if(is_prime(j) && is_prime(i - j)){
cout << j << "+" << i-j << endl;
break;
}
}
}
return 0;
}
```
这是我的代码,你看看有什么区别。可能是函数定义的问题,判断的直接用bool就行了,不用返回1返回0。
by Feifly @ 2024-02-20 20:41:28