Wu_while @ 2019-12-15 10:29:45
求助大佬,90分
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int zs(int n)
{
bool b=1;
for(int i=2;i<sqrt(n);i++)
{
if(n%i==0)
{
return 1;
}
}
return 0;
}
int main()
{
int n,k;
cin>>n;
for(int i=2;i<=n-4;i++)
{
if(zs(i)) continue;
for(int j=2;j<=n-4;j++)
{
if(zs(j)) continue;
k=n-i-j;
if(zs(k)) continue;
if(i+j+k==n)
{
cout<<i<<" "<<j<<" "<<k<<endl;
return 0;
}
}
}
return 0;
}
哪里错了
by xQAQyn @ 2019-12-15 10:43:00
质数判定写错了
by LinkCutTree @ 2019-12-15 10:50:13
@吴宗阳 指数判定里面 i<sqrt(n)
改成 i<=sqrt(n)
。另外特判0,1.