【ExcelVBA公開模試】各位の和で割ったときの最小値
文法を無視して、とりあえず動けばいいという邪道ExcelVBA講座こと「速読VBA単語」に準拠した問題を出題します。
問題
10000から99999までの5桁の整数Aの各位の数の和をBとする。たとえば、A=12345のときB=1+2+3+4+5=15である。A/Bの最小値とそのときのAの値を求めなさい。
わえなび式 正解例
(このページの下にあります)
目標回答時間
プロ2分以内、アマチュア10分以内に処理ができたら合格
この問題の出題範囲
「速読VBA単語」Program3-6-2まで
ご案内
ExcelVBAをなんとなく理解できればいいという初心者のための「速読VBA単語」を受講希望の方はカリキュラムをご覧ください。
正解例
剰余や商を使った方がシンプルになりますが出題範囲外なので、5重ループの力技で答えを出します。A=10999、B=10999/28=約392.82が最小です。
Sub moshi()
saisho_b = 10000
For i = 1 To 9
For j = 0 To 9
For k = 0 To 9
For l = 0 To 9
For m = 0 To 9
a = 10000 * i + 1000 * j + 100 * k + 10 * l + m
b = a / (i + j + k + l + m)
If saisho_b > b Then
saisho_b = b
saisho_a = a
End If
Next
Next
Next
Next
Next
Debug.Print saisho_a
Debug.Print saisho_b
End Sub
バックナンバー
この記事が気に入ったらサポートをしてみませんか?