過去ログ

banyanyan
#31453
見つけたのはいいのですが、式の意味がさっぱりわかりませんorz。

結局場合分けして調べるしか方法はないんですかねえ。
腑に落ちるすっきりした解き方を期待していたんですが……。

今朝起きてから私も確認のためExcelVBAでプログラム組んでみました。
時間計測したら0ミリ秒で2008と出てきて、2時間もかかって手が痛くなるほど調べた自分にがっかりorz。

Sub test()
 Dim a As Integer
 Dim b As Integer
 Dim c As Integer
 Dim d As Integer
 Dim e As Integer
 Dim f As Integer
 Dim g As Integer
 Dim h As Integer
 Dim i As Integer
 Dim j As Integer
 Dim k As Integer
 Dim l As Integer
 Dim m As Integer
 Dim n As Integer
 Dim o As Integer
 Dim p As Integer

 Dim t As Integer

 Dim sTime As Date
 Dim eTime As Date

 sTime = Time
 t = 0

 For a = 0 To 3
 For b = 0 To 3 - a
 For c = 0 To 3 - a - b
 For d = 0 To 3 - a - b - c
  If a + b + c + d = 3 Then
   For e = 0 To 3
   For f = 0 To 3 - e
   For g = 0 To 3 - e - f
   For h = 0 To 3 - e - f - g
    If e + f + g + h = 3 Then
     For i = 0 To 3
     For j = 0 To 3 - i
     For k = 0 To 3 - i - j
     For l = 0 To 3 - i - j - k
      If i + j + k + l = 3 Then
       m = 3 - a - e - i
       n = 3 - b - f - j
       o = 3 - c - g - k
       p = 3 - d - h - l
       If m >= 0 And n >= 0 And o >= 0 And p >= 0 And m + n + o + p = 3 Then t = t + 1
      End If
     Next l
     Next k
     Next j
     Next i
    End If
   Next h
   Next g
   Next f
   Next e
  End If
 Next d
 Next c
 Next b
 Next a

 eTime = Time

 MsgBox t & Chr(13) & (eTime - sTime) * 24 * 60 * 60 * 1000 & "ミリ秒"
End Sub

   1月17日(木) 16:49:20   HomePage:明るい家族計画−算数  31454

過去問題一覧へ戻る