这个程序为何出现:Time Limit Exceed?

来源:百度知道 编辑:UC知道 时间:2024/06/24 00:01:13
#include<stdio.h>
void main()
{
int gj;
int mj;
int xj;
int N;
int pd=0;
int pd2=0;
scanf("%d",&N);
for(gj=0;gj<=N/5;gj++)
{
for(mj=0;mj<=N/3;mj++)
{
for(xj=0;xj<=N;xj+=3)
{
pd2 ++;
if(gj+mj+xj==N && gj*5+mj*3+xj/3==N)
{
printf("%d %d %d \n",gj,mj,xj);
}
else
{
pd ++ ;
}
}
}
}
if(pd == pd2)
{
printf("Impossible");
}
}

我这里可以运行的!
你可以这样改一下试试:
#include<stdio.h>
int main()
{
int gj;
int mj;
int xj;
int N;
int pd=0;
int pd2=0;
scanf("%d",&N);
for(gj=0;gj<=N/5;gj++)
{
for(mj=0;mj<=N/3;mj++)
{
for(xj=0;xj<=N;xj+=3)
{
pd2 ++;
if(gj+mj+xj==N && gj*5+mj*3+xj/3==N)
{
printf("%d %d %d \n",gj,mj,xj);
}
else
{
pd ++ ;
}
}
}
}
if(pd == pd2)
{
printf("Impossible");
} return 0;
}

kdfj