|
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 |