HELP!为什么只能输出4=2+2

P1304 哥德巴赫猜想

```cpp #include <iostream> using namespace std; bool prime(int x) { for (int i = 2; i <= x - 1; i++) { if (x % i == 0) return 0; } return 1; } int main() { int n; cin >> n; for (int i = 4; i <= n; i += 2) { for (int j = 2; j <= i; j++) { if (prime(j) && prime(i - j)) { cout << i << "=" << j << "+" << i - j << endl; break; } } } return 0; } ```
by TLE_ZBR @ 2023-08-16 18:04:58


@[shensujin](/user/1063108) zs在=1后就不可能=0了,所以每次循环都要归零
by Nangu @ 2023-08-25 15:41:04


@[shensujin](/user/1063108) ```cpp #include <iostream> using namespace std; int main() { int N,n,j,i,l; int zs=0; cin>>N; for(i=1;i<=(N-2)/2;i++) { n=2*i+2; for(j=2;j<=n;j++) { zs=0//这里 for(l=2;l<j;l++) { if((j%l==0)or((n-j)%l==0)) zs=1; } if(zs==0) cout<<n<<"="<<j<<"+"<<(n-j)<<endl; } } return 0; }
by Nangu @ 2023-08-25 15:49:19


|