中易网

一道VB算法优化的题目,求解!

答案:2  悬赏:20  
解决时间 2021-01-05 01:45
百钱买百鸡是一个中国古代的经典数学问题。问题描述为:今有鸡翁一,值钱五;鸡母一,值钱三;小鸡三,值钱一。凡百钱买鸡百只,问鸡翁、鸡母、小鸡各几何?
算法设计(自然语言)
①假设鸡翁x只,鸡母y只,小鸡z只;
②x=1,y=1,z=1;
③判断x+y+z=100和5x+3y+z/3=100的条件是否同时成立,如果成立转到④,否则转到⑤;
④输出x,y,z的值,这是本题的一个解,继续执行⑤;
⑤当z<=300时,z的值增加1,转到③继续判断,否则转到⑥;
⑥当y<=33时,y的值增加1,z=1,转到③继续判断,否则转到⑦;
⑦当x<=20时,x的值增加1,y=1,z=1,转到③继续判断,否则转到⑧;
⑧算法结束。
算法设计(VB代码)
For x = 1 To 20 '鸡翁只数可能的取值范围
For y = 1 To 33 '鸡母只数可能的取值范围
For z = 1 To 300 '小鸡只数可能的取值范围
If x + y + z = 100 and 5 * x + 3 * y + z / 3=100 Then
Print x, y, z '输出一组解
End If
Next z
Next y
Next x
请计算第③步条件判断的次数。如果要减少条件判断次数,可以如何修改算法(可以选择自然语言或VB代码进行修改)?
最佳答案
这个优化的话 可以通过减少循环来进行的
将循环的次数进行优化
把 If x + y + z = 100 and 5 * x + 3 * y + z / 3=100 Then

修改为If5 * x + 3 * y + z / 3=100 Then

把For z = 1 To 300
修改为For z = 1 To 100-x-y
全部回答
你好! 你是来骗经验的? 如有疑问,请追问。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
棐彝的意思是什么?棐彝的释义是什么啊?
儿童生日派对准备什么,据说要确定主题?啥主
同步发电机准同步并车条件是什么?有哪些手动
清朗的意思是什么啊?请解释下!
iphone a1431多少钱
評薪的意思是什么?評薪的释义是什么啊?
生产合作社的意思是什么?生产合作社的释义是
装修大型墙面怎么设计
植物水多,叶子发蔫怎么办?
哀乐的意思是什么?哀乐的释义是什么啊?
7500吨等于多少公斤
20小时的8K16bit单声道音频存储大小是多大
在设置字段有效性规则时:
为什么都说乡下人很土
直通车可以推广多少个宝贝
推荐资讯
汉兴,接秦之弊,自天子不能具钧驷,而将相或
志诚印刷地址有知道的么?有点事想过去
滯碾的意思是什么?滯碾的释义是什么啊?
1987年属兔人2017年适合添丁吗
元贝鲜虾超美味怎么做
为什么有些事,拼命想忘掉却忘不掉
Q5N怎么卸载不想要的应用?
真善美发型工作室地址在什么地方,我要处理点
1699元高端婚纱摄影折扣店地址在哪,我要去那
谁知道人彘是什么意思?
魅蓝E充电时被识别成仅限使用USB充电。这样充
思科3层设备划分Vlan后,vlan里的PC无法上网
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?