Office中国论坛/Access中国论坛

标题: 编程题目(翻转硬币) [打印本页]

作者: Trynew    时间: 2005-11-5 23:26
标题: 编程题目(翻转硬币)
'补全程序

'题目描述:

'  一摞硬币共有m枚,每一枚都是正面朝上。取下最上面的一枚硬币,将它翻面后放回原处。然后取下最上面的2枚硬币,将他们一起翻面后再放回原处。再取3枚,取4枚……直至m枚。然后再从这摞硬币最上面的一枚开始,重复刚才的做法。这样一直做下去,直到这摞硬币中的每一枚又都是正面朝上为止。例如,m为1时,翻两次即可。

'

'  输 入:仅有的一个数字是这摞硬币的枚数m,0<m<1000。

'

' 输 出: 为了使这摞硬币中的每一枚又都是正面朝上所必需翻的次数?

'

'  输入样例:30

'

'  输出样例:899

'

' 程 序:

Public Sub testCoin()

Dim m As Integer, n As Integer

m = InputBox("Input m")

If m > 0 And m < 1000 Then

n = solve(m)

Debug.Print n

End If

End

End Sub



Function solve(m)

Dim i As Integer, t As Integer, d As Integer

If m = 1 Then

solve = 2

Else

d = 2 * m + 1

t = 2: i = 1

Do

If t = 1 Then

solve = ①

Exit Do

End If

If ② Then

solve = i * m - 1

Exit Do

End If

t = ③

i = i + 1

Loop

End If

End Function
作者: ganrong    时间: 2005-11-6 02:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: okmijn    时间: 2005-11-10 16:33
看不懂啊
作者: zj989100    时间: 2005-12-23 17:43
没有看懂,好难啊!
作者: paltt    时间: 2006-3-9 18:00
我老袋懶,不思考




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3