编写程序,求解“百鸡问题”。
每只公鸡价值5钱,每只母鸡价值3钱,第3只小鸡价值1钱,现有100个钱想买100只鸡,问公鸡,母鸡,小鸡各应买几只?

解,设鸡的总数为Sun,钱的总数为RSUM,根据题意很容易写出VB源程序:
Private Sub Form_Click()

    For x = 1 To 100
        For y = 1 To 100
            For z = 1 To 100
                Sum = x + y + z
                RSUM = 5 * x + 3 * y + z / 3
                If (Sum = 100) And (RSUM = 100) Then Print x, y, z

            Next z
        Next y
    Next x
   
End Sub

但是上面的程序效率太低,三重循环一共有100*100*100=1000000次。可以改下此VB源码,让程序效率高一些
1:20只公鸡是100元,所以,第一重循环不用100次,只要20次就行了。
2:33.3只母鸡是100元,所以,第二重循环最多是34次。
3:可以减少一重循环以提高效率,小鸡的那重循环可以去除。

改进的源码如下:
Private Sub Form_Click()

    For x = 1 To 20
        For y = 1 To 34
                z = 100 - x + y
                If 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z

            Next y
        Next x

End Sub

**********************
新世纪计算机基础教育丛书 丛书主编:谭浩强
Visual Basic 程序设计教程 题解与上机指导(第四版) 刘炳文 编著

来源:visual basic程序设计教程第四版答案(刘炳文)

本文链接:http://www.wb98.com/vb1/post/vb_7.12.html

本站文章搜索:

<< 上一篇下一篇 >>

搜索

Tags列表

扫我手机登录

赞助商链接