1700414990
ElseIf(A=1) And (B=1) Then
1700414991
1700414992
MsgBox “平局”
1700414993
1700414994
ElseIf(A=1) And (B=2) Then
1700414995
1700414996
MsgBox “玩家A获胜”
1700414997
1700414998
ElseIf(A=2) And (B=0) Then
1700414999
1700415000
MsgBox “玩家A获胜”
1700415001
1700415002
ElseIf(A=2) And (B=1) Then
1700415003
1700415004
MsgBox “玩家B获胜”
1700415005
1700415006
ElseIf(A=2) And (B=2) Then
1700415007
1700415008
MsgBox “平局”
1700415009
1700415010
End If
1700415011
1700415012
接下来试着在此加入些技巧吧。请仔细观察表5.2并找出数字间的一种规律,这个规律可简单地判定是玩家A获胜、玩家B获胜、平局这三种结果。可能需要习惯一下思维上的转变。但最终应该都可以发现如下的规律:
1700415013
1700415014
² 如果变量A和变量B相等就是“平局”
1700415015
1700415016
² 如果用B+1除以3得到的余数与变量A相等就是“玩家B获胜”
1700415017
1700415018
² 其余的情况都是玩家A获胜
1700415019
1700415020
用程序来表示这个规律就得到了如代码清单5.5所示的代码,与没有使用任何技巧的代码清单5.4中的代码相比,可以发现处理过程简单并且代码短小精悍,当然程序的执行速度也会提升
1700415021
1700415022
代码清单5.5 判断石头剪刀布输赢的程序(方法二)
1700415023
1700415024
If A=B Then
1700415025
1700415026
MsgBox “平局”
1700415027
1700415028
ElseIf A=(B+1) Mod 3 Then
1700415029
1700415030
MsgBox “玩家B获胜”
1700415031
1700415032
Else
1700415033
1700415034
MsgBox “玩家A获得”
1700415035
1700415036
End If
1700415037
1700415038
构造算法时需要找出数字间的规律不仅适用于数学游戏,编写用于计算工资的应用程序时,计算工资的规则也可以说是一种数字上的规律。如果能够发现“工资=底薪+加班补贴+交通补贴-预扣税款”这样的规律,那么解决问题的步骤就是明确的,步骤数也是有限的,因此构造出的算法也就是优秀的。
1700415039
[
上一页 ]
[ :1.70041499e+09 ]
[
下一页 ]