为什么这是死循环?运行不出结果?

来源:百度知道 编辑:UC知道 时间:2024/05/11 21:33:22
main()
{int a,b,c,e,f,g,h,i,j,k,l,z;
for(z=1;z<=3600;z++)
{for(a=1;a<=300;a++)
{for(b=1;b<=300;b++)
{for(c=2;c<=600;c++)
{for(e=1;e<=300;e++)
{for(f=1;f<=300;f++)
{for(g=1;g<=300;g++)
{for(h=1;h<=300;h++)
{for(i=1;i<=300;i++)
{for(j=1;j<=300;j++)
{for(k=1;k<=300;k++)
{for(l=1;l<=300;l++)
{if((a+b+2*c+e+f+g+h+i+j+k+l<=z)&&(5*a>=z)&&(6*b>=z)&&(16*c>=z)&&(10*e>=z)&&(13*f>=z)&&(14*g>=z)&&(17*h>=z)&&(23*i>=z)&&(28*j>=z)&&(35*k>=z)&&(46*l>=z))
printf("a=%d,b=%d,c=%d,e=%d,f=%d,g=%d,h=%d,i=%d,j=%d,k=%d,l=%d,z=%d",a,b,c,e,f,g,h,i,j,k,l,z);}}}}}}}}}}}}}

你把所有情况遍历一下试试?
3600*300*300*599*300*300*300*300*300*300*300*300
次判断。。。
吐血了。。。

假设你的cpu 1GHz=10E9 3600*300*300*599*300*300*300*300*300*300*300*300=10E26 估算的啊
10E26/10E9=10E17秒 一年大约3*10E7秒 你看得多少年啊
而且一次循环还不是CPU一个周期就能做完的

时间太长了,要(3600*300*300*599*300*300*300*300*300*300*300*300)/1000000000/3600/24/365年
约4037711301369863年

..............................
厉害
如果不死
你的电脑很好了!~~~~~~~~~~``
.......................

不是死循环,只不过运行这个程序所需要的时间太长了而已

你这是测试CPU性能的程序吧