你确定i++真的可以吗
by ppplllmmm @ 2018-08-10 18:14:50
```
#include<cstdio>
#include<iostream>
#include<cmath>//头文件不解释(cmath要加)
using namespace std;
int main()
{
int n,count,b=1;
scanf("%d",&n);//输入
bool flag=true;//测试用的
int a[1230];//把质数全部放在里面(经验证1~10000有1229个质数,a[0]暂时不用)
for(int i=2;i<=10000;i++)//吧质数放进去
{
for(int j=2;j<=sqrt(i);j++)//测试是不是质数
{
if(i%j==0)//测试有没有因数
{
flag=false;
break;//有的话直接结束
}
else
flag=true;//重置用的
}
if(flag)//如果没有1和它本身外的因数就把那个数放到数组中
{
a[b]=i;
b++;//切换下一个变量
}
}
bool flag1=true;//依旧是测试用的
for(int i=4;i<=n;i+=2)//从4开始枚举,一次加2
{
printf("%d=",i);//输出开头的东西
for(int j=1;j<=1230;j++)//两两搭配
{
for(int k=1230;k>0;k--)//两两搭配
{
if(a[j]+a[k]==i)//测试成不成立
{
printf("%d+%d\n",a[j],a[k]);//输出
flag1=true;
break;
}
else
flag1=false;//重置
}
if(flag1)//以防多输出
break;
}
}
return 0;//养成好习惯
}
```
###
by 爱嘤撕毯 @ 2020-02-21 17:50:08
俺的解法如上
by 爱嘤撕毯 @ 2020-02-21 17:50:33