clear
?喝啤酒(5,4,2)
FUNCTION 喝啤酒(数量,瓶盖,空瓶)
LOCAL n数量,n瓶盖,n空瓶,n奖励
n数量 = 数量
n瓶盖 = 数量
n空瓶 = 数量
l条件 = .t.
n次数 = 1
DO WHILE l条件
n奖励 = INT(n瓶盖 / 瓶盖) + INT(n空瓶 / 空瓶)
n瓶盖 = IIF(n瓶盖=>瓶盖,MOD(n瓶盖,瓶盖),n瓶盖) + n奖励
n空瓶 = IIF(n空瓶=>空瓶,MOD(n空瓶,空瓶),n空瓶) + n奖励
?" 第"+TRAN(n次数)+"轮:奖励 =",TRAN(n奖励),";瓶盖 =",TRAN(n瓶盖),";空瓶 =",TRAN(n空瓶)
n数量 = n数量 + n奖励
n次数 = n次数 +1
IF n瓶盖=>瓶盖 OR n空瓶>=空瓶
l条件 = .t.
ELSE
l条件 = .f.
ENDIF
ENDDO
RETURN n数量
ENDFUNC