60分求助!!!

P1304 哥德巴赫猜想

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


@[whx090128](/user/1049557) 数组开大试下?
by zuohan @ 2023-08-16 16:21:52


``` #include<cstdio> bool zhi(int x){ if(x==2)return 1; if(x==1||x==0)return 0; for(int i=2;i*i<=x;i++){ if(x%i==0)return 0; } return 1; } int main() { int n; scanf("%d",&n); for(int i=4;i<=n;i+=2){ for(int j=1;j<=i;j++){ if(zhi(j)&&zhi(i-j)){ printf("%d=%d+%d\n",i,j,i-j); break; } } } } ```
by Rorre_y @ 2023-08-16 16:33:53


这一题很简单,**你一开始的筛质数对的**,但后面我**着实看不懂**(~~不会是我落后了吧~~)。我来给你一个**新思路**: 1. 筛数 2. 双重循环:第一层从4到n,穷举i;第二层只穷举较小的质加数,如果发现了正解,cout它。 很简洁的思路吧!
by WCX6936 @ 2023-08-16 16:33:57


数组太小了
by lkjhgfdsa2023 @ 2023-08-25 17:28:20


|