当前位置: 代码迷 >> C语言 >> [讨论]多层循环的优化
  详细解决方案

[讨论]多层循环的优化

热度:399   发布时间:2007-01-20 15:21:47.0
顶上去。。。。
----------------解决方案--------------------------------------------------------
当把 if(50*a+20*b+10*c+5*d+2*e+f==100)
改成为:
if(5*a+2*b+c+0.5*d+0.2*e+0.1*f==10)
我用turboC3.0运行,没有结果.
----------------解决方案--------------------------------------------------------
呵呵,就是这样改了浮点数与整数的区别吧
----------------解决方案--------------------------------------------------------
以下是引用gqchaoyue在2007-1-20 15:59:53的发言:
当把 if(50*a+20*b+10*c+5*d+2*e+f==100)
改成为:
if(5*a+2*b+c+0.5*d+0.2*e+0.1*f==10)
我用turboC3.0运行,没有结果.

if(5*a+2*b+1*c+0.5*d+0.2*e+0.1*f==10)
有结果啊,我用turboC2.0运行的。


----------------解决方案--------------------------------------------------------

改为单层循环可以加快速度
改为
for(f=0;f<=100;f++)
for(e=0;e<=50;e++)
for(d=0;d<=20;d++)
for(c=0;c<=10;c++)
for(b=0;b<=5;b++)
for(a=0;a<=2;a++)
也可以加快速度


----------------解决方案--------------------------------------------------------

呵呵,这也是好方法啊,可是有没有办法把循环层数给减少呢


----------------解决方案--------------------------------------------------------
以下是引用卧龙孔明在2007-1-20 17:48:50的发言:

改为单层循环可以加快速度
改为
for(f=0;f<=100;f++)
for(e=0;e<=50;e++)
for(d=0;d<=20;d++)
for(c=0;c<=10;c++)
for(b=0;b<=5;b++)
for(a=0;a<=2;a++)
也可以加快速度

哥们,你弄反了吧?
大循环在外面,跨切循环的次数越多,效率反而低了呀,小弟愚钝,望明示。谢谢
----------------解决方案--------------------------------------------------------
期待更好的解法。。。
----------------解决方案--------------------------------------------------------

以下是引用卧龙孔明在2007-1-20 17:48:50的发言:

改为单层循环可以加快速度
改为
for(f=0;f<=100;f++)
for(e=0;e<=50;e++)
for(d=0;d<=20;d++)
for(c=0;c<=10;c++)
for(b=0;b<=5;b++)
for(a=0;a<=2;a++)
也可以加快速度

单层循环是什么?

改为
for(f=0;f<=100;f++)
for(e=0;e<=50;e++)
for(d=0;d<=20;d++)
for(c=0;c<=10;c++)
for(b=0;b<=5;b++)
for(a=0;a<=2;a++)
为什么也可以加快速度?


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
  相关解决方案