|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Option Explicit
- Dim dic As Object '新增语句
- Sub ChangeCoin()
- Dim aCoins(), aRes(), nCoin, t#
- Dim i% '新增语句
- ' 可更改段
- ' 只能是Dim
- ' 可更改结束
- ' aCoins = Array(10 ^ 9) '新增语句
- aCoins = Array(12, 123, 1000, 50000, 600000, 30000000)
- ReDim aRes(UBound(aCoins))
- t = Timer
- ' 可更改段
- Set dic = CreateObject("scripting.dictionary") '新增语句
- For Each nCoin In aCoins
- '....
- aRes(i) = ExChange(CCur(nCoin)) '新增语句
- i = i + 1 '新增语句
- Next
- ' 可更改结束
- Set dic = Nothing '新增语句
- Debug.Print "ID: " & "zhyj_88"
- Debug.Print "Result: " & Join(aRes, ", ")
- Debug.Print "Time: " & Format(Timer - t, "0.000s")
- End Sub
- Function ExChange(Coin As Currency) As Currency
- Dim i%, j@, k@
- If dic.exists(Coin) Then ExChange = dic(Coin): Exit Function
- For i = 2 To 4
- j = Coin \ i
- If j > 11 Then
- k = k + ExChange(j)
- Else
- k = k + j
- End If
- Next i
- ExChange = k: dic(Coin) = k
- End Function
复制代码 ID: zhyj_88
Result: 13, 144, 1370, 96394, 1427537, 98274986
Time: 0.000s
4楼无法重新编辑,只好再发一遍了。
这个应是正确答案了,因为所有数据均耗时为0秒。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
|