P1304全WA求助悬关

P1304 哥德巴赫猜想

建议把函数开成bool
by Rieman_sum @ 2023-07-28 21:17:08


然后从4开始
by Rieman_sum @ 2023-07-28 21:17:34


那3 5 7 11 13 也都是素数啊
by chenqile @ 2023-07-28 21:28:19


@[chenqile](/user/953664) 1.蒟蒻实在是没有找到你的输入在哪。 2.你的输出换行没了。 3.你用printf输出时,定义了三个变量,却只提供了两个。输出可参考以下代码。 ```c cout<<i<<"="<<a[j]<<"+"<<i-a[j]<<endl; ``` 有问题还可以再问我
by gf20220934 @ 2023-07-29 08:15:22


@[gf20220934](/user/794027) 1.样例输出从 4=…… 开始,你的代码从 2=…… 开始,建议将 ```c for (int i = 2; i <= n; i += 2) ``` 改为 ```c for (int i = 4; i <= n; i += 2) ``` 2.你的代码将1筛为素数,建议调一下,将 ```c for (int i = 1; i < 1001; i++) ``` 改为 ```c for (int i = 2; i < 1001; i++) ``` 3.建议将 ```c for (int j = 0; j <= 500; j++) ``` 改为 ```c for (int j = 0; j <= top; j++) ``` 代码会跑的快一些 有问题可以问我
by gf20220934 @ 2023-07-29 08:28:10


代码简单易懂,而且时间上也是没问题的,可以参考和借鉴 [AC记录](https://www.luogu.com.cn/record/120226102)
by Y_QWQ_Y @ 2023-08-11 12:29:16


代码 ```cpp #include<bits/stdc++.h> using namespace std; int n; bool pd (int a)判断质数 { for (int i = 2; i * i <= a; i++) { if (a % i == 0) { return 0; } } return 1; } void cf(int a) { int l = 2 , r = a - 2;利用l和r拆分 while (l < r) { if (pd (l) && pd (r)) { printf ("%d=%d+%d\n" , a , l , r); return ; } l++; r--; } } int main() { scanf ("%d" , &n); for (int i = 2; i * 2 <= n; i++) { int j = i * 2; cf (j);调用函数即可 } return 0; } ```
by Y_QWQ_Y @ 2023-08-11 12:30:55


请勿抄袭,谢谢。
by Y_QWQ_Y @ 2023-08-11 12:31:21


|