名称未設

【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

バックナンバー


この記事が気に入ったらサポートをしてみませんか?