| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2281 人关注过本帖
标题:[讨论]多层循环的优化
只看楼主 加入收藏
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
 问题点数:0 回复次数:28 
[讨论]多层循环的优化
最近老师提了一个多层循环的优化问题,大家一起来看看啊。。。。
#include "stdio.h"
main()
{
int a,b,c,d,e,f,s=0;
for(a=0;a<=2;a++)
for(b=0;b<=5;b++)
for(c=0;c<=10;c++)
for(d=0;d<=20;d++)
for(e=0;e<=50;e++)
for(f=0;f<=100;f++)
if(50a+20b+10c+5d+2e+f==100)
{
s=s+1;
printf("the %d is:%d ge wu mao,%d ge liang mao,%d ge yi mao,%d ge wu fen,%d ge liang fen,%d ge yi fen.\n",s,a,b,c,d,e,f);
}
else continue;
}
搜索更多相关主题的帖子: mao liang fen 
2007-01-19 18:17
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
以下是引用lzf0112在2007-1-19 18:17:20的发言:
最近老师提了一个多层循环的优化问题,大家一起来看看啊。。。。
#include "stdio.h"
main()
{
int a,b,c,d,e,f,s=0;
for(a=0;a<=2;a++)
for(b=0;b<=5;b++)
for(c=0;c<=10;c++)
for(d=0;d<=20;d++)
for(e=0;e<=50;e++)
for(f=0;f<=100;f++)
if(50a+20b+10c+5d+2e+f==100) //这句能编译通过吗?
{
s=s+1;
printf("the %d is:%d ge wu mao,%d ge liang mao,%d ge yi mao,%d ge wu fen,%d ge liang fen,%d ge yi fen.\n",s,a,b,c,d,e,f);
}
else continue;
}


坚决不跟用TC的人打交道!
2007-01-19 18:19
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 

呵呵,忘了不好意思。。。。
#include "stdio.h"
main()
{
int a,b,c,d,e,f,s=0;
for(a=0;a<=2;a++)
for(b=0;b<=5;b++)
for(c=0;c<=10;c++)
for(d=0;d<=20;d++)
for(e=0;e<=50;e++)
for(f=0;f<=100;f++)
if(50*a+20*b+10*c+5*d+2*e+f==100)
{
s=s+1;
printf("the %d is:%d ge wu mao,%d ge liang mao,%d ge

yi mao,%d ge wu fen,%d ge liang fen,%d ge yi fen.\n",s,a,b,c,d,e,f);
}
else continue;
}

2007-01-19 18:22
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分: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)
那结果就大不相同咯!!!!

2007-01-20 11:44
zbqf109
Rank: 1
等 级:新手上路
帖 子:289
专家分:0
注 册:2006-12-31
收藏
得分:0 
你不觉得无聊吗?拿无聊当有趣,什么人。

坚决不跟用TC的人打交道!
2007-01-20 11:55
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
这个没有什么嘛!~~~~~~~~~~~~~~~~~
顶~~~~~~~~~~

~~我的明天我知道~~
2007-01-20 12:11
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 

呵呵,只是老师要求把这个代码进行优化,我不会所以过来来请教一些意见啊。。。。

2007-01-20 12:24
penggf
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-1-19
收藏
得分:0 
以下是引用lzf0112在2007-1-20 11:44:45的发言:

呵呵,怎么就没人呢。。。。。
当把 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)
那结果就大不相同咯!!!!

就这么简单,还有没有其它的优化??

2007-01-20 14:44
YANGDAN123
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2007-1-16
收藏
得分:0 

后面的可以简化:呵呵,忘了不好意思。。。。
#include "stdio.h"
main()
{
int a,b,c,d,e,f,s=0;
for(a=0;a<=2;a++)
for(b=0;b<=5;b++)
for(c=0;c<=10;c++)
for(d=0;d<=20;d++)
for(e=0;e<=50;e++)
for(f=0;f<=100;f++)
if(50*a+20*b+10*c+5*d+2*e+f==100)
{
s=s+1;
printf("the %d is:%d ge wu mao,%d ge liang mao,%d ge

yi mao,%d ge wu fen,%d ge liang fen,%d ge yi fen.\n",s,a,b,c,d,e,f);
}
else continue;
}
比如第2个,不用循环5次,只用循环3次就行!


我将用我全部的时间去寻找我生命和灵魂的唯一伴侣,得之,我幸,不得,我命。
2007-01-20 14:50
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 
以下是引用YANGDAN123在2007-1-20 14:50:08的发言:

后面的可以简化:呵呵,忘了不好意思。。。。
#include "stdio.h"
main()
{
int a,b,c,d,e,f,s=0;
for(a=0;a<=2;a++)
for(b=0;b<=5;b++)
for(c=0;c<=10;c++)
for(d=0;d<=20;d++)
for(e=0;e<=50;e++)
for(f=0;f<=100;f++)
if(50*a+20*b+10*c+5*d+2*e+f==100)
{
s=s+1;
printf("the %d is:%d ge wu mao,%d ge liang mao,%d ge

yi mao,%d ge wu fen,%d ge liang fen,%d ge yi fen.\n",s,a,b,c,d,e,f);
}
else continue;
}
比如第2个,不用循环5次,只用循环3次就行!

呵呵,有点看不懂啊,可否解释清楚点。

2007-01-20 15:09
快速回复:[讨论]多层循环的优化
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024985 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved