求指点

P1304 哥德巴赫猜想

你确定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


|