Dog_Two @ 2017-04-14 17:49:41
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
void solve(int);
int zs(int);
int n;
int main()
{
scanf("%d",&n);
solve(n);
return 0;
}
void solve(int a)
{
for(int i=2;i<=n-4;i++)
{
for(int j=2;j<=n-4;j++)
{
int c=n-i-j;
if(zs(i)==1&&zs(i)==1&&zs(j)==1)
{
printf("%d %d %d",i,j,c);
}
}
}
}
int zs(int a)
{
if(a==1)
{
return 0;
}
for(int i=2;i*i<=a;i++)
{
if(a%i==0)
{
return 0;
}
}
return 1;
}
代码如上,无限输出不合题意的质数。
by tumult_2 @ 2017-04-19 13:00:21
搜到了请Return,还有,c没有判定
把if(zs(i)==1&&zs(i)==1&&zs(j)==1)
改为if(zs(i)==1&&zs(c)==1&&zs(j)==1)
@七月飞雪
by Dog_Two @ 2017-05-10 22:20:36
@朱晨煊 _(:зゝ∠)_已经修改代码了,感谢斧正