MARYGWEN @ 2017-03-07 17:16:40
#include<stdio.h>
#include<math.h>
bool su(int a)
{
int h;
for(h=2;h<sqrt(a);h++)
{
if(a%h==0)
return false;
}
return true;
}
int main()
{
int a,i,j=0,k,x[100000],p,s1,s2,s3,sum;
scanf("%d",&a);
for(i=2;i<a;i++)
{
if(su(i)!=0)
{ i=x[j];
j++;
}
}
for(i=0;i<j;i++)
{
for(k=0;k<j;k++)
{
for(p=0;p<j;p++)
{
sum=i+k+p;
if(sum==a)
{
s1=i;
s2=k;
s3=p;
break;
}
else
continue;
}
}
}
printf("%d %d %d",s1,s2,s3);
return 0;
}
不管是编译器还是洛谷都是超时,想请教一下为什么
by NK520 @ 2017-03-07 18:00:32
无限死循环了
检查一下吧
by tuliwei @ 2017-03-30 12:48:42
编译器超时基本上是死循环