「今月の問題」 第52回 (平成16年1月)

 
上図を見てください。
(KIN)+(GA)+(SHIN)+(NEN)=2004になる計算を考えました。
K,I,N,G,A,S,H,E の文字にはそれぞれ、0〜9のある数字があてはまります。
どのような数字があてはまるか考えることにしました。
1つの場合に決まりそうにないので、K=3,G=8,E=2に固定することにしました。

 
ここで問題です。残りのI,N,A,S,Hにあてはまる数字を考えてください。

答えは、I,N,A,S,H の形で答えてください


<正解者一覧表>
正解者順位     name      メール到着日時     備 考  
 1 呑 さん2004/1/1 0:16fromならで酒
 2 mhayashi さん2004/1/1 0:19大阪府 
 3 ろろ さん2004/1/1 0:25神奈川県 
 4nobu さん2004/1/1 0:28 
 5neo さん2004/1/1 1:05 
 6佐藤 広宣 さん2004/1/1 1:14東京都国分寺市 
 7teki さん2004/1/1 2:20大阪府 
 8モルモット大臣 さん2004/1/1 3:07モルモット王国 
 9寺脇犬 さん2004/1/1 3:55生駒市 
10miya さん2004/1/1 5:20熊本 
11yan さん2004/1/1 9:46愛知県 
12経友会の進作 さん2004/1/1 9:56京都府木津町・65歳 
13なにわ さん2004/1/1 21:11西宮より謹賀新年
14信三 さん2004/1/2 8:15シリコンバレーの住人
15燕陣内 さん2004/1/2 9:13虚弱体質
16あさ さん2004/1/3 1:32千葉県
17 あつきパパ さん2004/1/3 18:12愛知県、0歳児の父 
18ゴンとも さん2004/1/3 21:51YMOチルドレン in  豊川市
19sato さん2004/1/4 0:49滋賀県
20 加藤英晴 さん2004/1/4 15:44新潟県長岡市 
21ちず さん2004/1/4 17:26愛媛県 
22荻野菜穂 さん2004/1/4 21:07愛知県名古屋市
23MAM さん2004/1/4 22:57沖縄県
24永弘 世之介 さん2004/1/4 23:13東京都
25安楽 さん2004/1/5 0:17宮崎県小林市 
26巷の夢 さん2004/1/5 7:03宮城県出身 
27フィリピンの鷹 さん2004/1/5 18:37 
28にいにい さん2004/1/5 20:34東京 
29びっきー さん2004/1/5 20:53名古屋市 
30荒川組 さん2004/1/5 21:11名古屋市小学校5年生 
31すてっぷ さん2004/1/5 22:27カタツムリ 
32みかん さん2004/1/6 15:28新年は川崎大師 
33kasama さん2004/1/6 16:07和歌山県プログラマ 
34宮 さん2004/1/6 16:44鹿児島県 
35阿久根孝宜 さん2004/1/9 10:15名瀬市にいます 
36まさる さん2004/1/9 16:08神戸市 
37浜田明巳 さん2004/1/14 11:30 
38さるくん さん2004/1/15 11:26栃木県サラリーマン
39奥入瀬 さん2004/1/15 14:14東京都
40zizi さん2004/1/16 20:27東京都
41 なか さん2004/1/17 16:58北海道 
42あばんてぃ さん2004/1/18 0:43 
43suusan さん2004/1/18 14:04静岡県トラックドライバー
44安 ディーヌ さん2004/1/19 14:04 
45スモークマン さん2004/1/20 11:40目標、囲碁4段!
46 高橋 道広 さん2004/1/20 20:31北の隠れ家 
47午年のうりぼう さん2004/1/21 5:59福島県
48おきめぐ さん2004/1/22 16:22神奈川県在住 
49 CRYING DOLPHIN さん2004/1/27 23:08高知県 
50かず さん2004/1/29 15:31牛深人 
51kasahara さん2004/1/30 20:26中学1年生 
52oguchan1 さん2004/1/30 22:09岡山県 

答えは、I=4,N=5,A=9,S=1,H=0 です。

<なか さん>
覆面算のプログラムを紹介していただきました。

ちょうど覆面算を解くプログラムを作ったところでした。
私のページにくると遊べるようになっています。
今回の問題はこんな感じになります。
http://www3.sansu.org/

 

<150 エクセルのオートフィルタ大活躍  加藤英晴さん> - 2004/01/04 15:54 -
20I+103N+A+1000S+100H=1604という5元1次不定方程式を,それぞれの文字が0以上9以下の整数という条件で解きます。
「文字に入る数は全て互いに異なり,3,8,2ではない」という条件を加えないと,他に11種類の解が存在します。http://www.geocities.co.jp/Technopolis/4728/index.html

 

<149 他も全部出しました28通り ゴンともさん>   - 2004/01/03 21:45 -
手計算で
ANSWER
K=3,G=8,E=2 I,N,A,S,H=4,5,9,1,0
ANOTHER ANSWER
K=2,G=6,E=8 I,N,A,S,H=7,5,9,1,0  
K=2,G=8,E=6 I,N,A,S,H=7,5,9,1,0  
K=3,G=6,E=8 I,N,A,S,H=2,5,9,1,0
K=3,G=8,E=6 I,N,A,S,H=2,5,9,1,0
K=3,G=2,E=8 I,N,A,S,H=4,5,9,1,0
K=3,G=2,E=4 I,N,A,S,H=6,5,9,1,0
K=3,G=4,E=2 I,N,A,S,H=6,5,9,1,0  
K=3,G=8,E=9 I,N,A,S,H=6,4,2,1,0  
K=3,G=9,E=8 I,N,A,S,H=6,4,2,1,0
K=3,G=6,E=9 I,N,A,S,H=7,4,2,1,0
K=3,G=9,E=6 I,N,A,S,H=7,4,2,1,0
K=3,G=6,E=7 I,N,A,S,H=8,4,2,1,0
K=3,G=7,E=6 I,N,A,S,H=8,4,2,1,0
K=3,G=5,E=6 I,N,A,S,H=9,4,2,1,0
K=3,G=6,E=5 I,N,A,S,H=9,4,2,1,0
K=4,G=8,E=9 I,N,A,S,H=6,3,5,1,0
K=4,G=9,E=8 I,N,A,S,H=6,3,5,1,0
K=4,G=6,E=9 I,N,A,S,H=7,3,5,1,0
K=4,G=9,E=6 I,N,A,S,H=7,3,5,1,0
K=4,G=6,E=7 I,N,A,S,H=8,3,5,1,0
K=4,G=7,E=6 I,N,A,S,H=8,3,5,1,0
K=5,G=6,E=9 I,N,A,S,H=7,2,8,1,0  
K=5,G=9,E=6 I,N,A,S,H=7,2,8,1,0  
K=5,G=4,E=7 I,N,A,S,H=9,2,8,1,0
K=5,G=7,E=4 I,N,A,S,H=9,2,8,1,0
K=6,G=4,E=9 I,N,A,S,H=3,2,8,1,0
K=6,G=9,E=4 I,N,A,S,H=3,2,8,1,0
やり方は千の位から一の位を決め
十の位の総和で百の位が決まり十の位を決めました。

 

<浜田明巳さん>
覆面算の常識では,異なる文字には異なる数字が入り,最高位の数は0ではない.この問題では覆面算と銘打ってはいないので,「異なる文字には異なる数字」の条件はとってもかまわないであろうが,さすがに「最高位の数は0でない」の条件は必要であろう.そこで2通りの方法で解いてみた.Macro1が重複可であり,Macro2が重複不可である.
   301
    81
  1501
 + 121
-------
  2004    I=0,N=1,A=1,S=1,H=5

   351
    81
  1451
 + 121
-------
  2004    I=5,N=1,A=1,S=1,H=4

   345
    89
  1045
 + 525
-------
  2004   I=4,N=5,A=9,S=1,H=0

 最後の1つのみが,純粋の覆面算の答である.

Option Explicit
'  KIN
'   GA
' SHIN
'+ NEN
'------
' 2004
Sub Macro1() '重複可
    Sheets("Sheet1").Select
    Dim K As Integer
    Dim I As Integer
    Dim N As Integer
    Dim G As Integer
    Dim A As Integer
    Dim S As Integer
    Dim H As Integer
    Dim E As Integer
    Dim kuriagari(3) As Integer
    Dim gyou As Integer
    K = 3
    G = 8
    E = 2
    Cells(1, 1).Value = 0
    For N = 1 To 9
      '(3*N+A) mod 10=4
      A = (30 + 4 - 3 * N) Mod 10
      kuriagari(1) = (3 * N + A) \ 10
      For I = 0 To 9
        '(2*I+G+E+kuriagari(1) mod 10)=0
        If (2 * I + G + E + kuriagari(1)) Mod 10 = 0 Then
          kuriagari(2) = (2 * I + G + E + kuriagari(1)) \ 10
          '(K+H+N+kuriagari(2)) mod 10=0
          H = (30 - (K + N + kuriagari(2))) Mod 10
          kuriagari(3) = (K + H + N + kuriagari(2)) \ 10
          'S+kuriagari(3)=2
          S = 2 - kuriagari(3)
          If S > 0 And S <= 9 Then
            Cells(1, 1).Value = Cells(1, 1).Value + 1
            gyou = 6 * Cells(1, 1).Value - 5
            Cells(gyou, 3).Value = K
            Cells(gyou, 4).Value = I
            Cells(gyou, 5).Value = N
            Cells(gyou + 1, 4).Value = G
            Cells(gyou + 1, 5).Value = A
            Cells(gyou + 2, 2).Value = S
            Cells(gyou + 2, 3).Value = H
            Cells(gyou + 2, 4).Value = I
            Cells(gyou + 2, 5).Value = N
            Cells(gyou + 3, 2).Value = "+"
            Cells(gyou + 3, 3).Value = N
            Cells(gyou + 3, 4).Value = E
            Cells(gyou + 3, 5).Value = N
            Cells(gyou + 4, 2).Value = 2
            Cells(gyou + 4, 3).Value = 0
            Cells(gyou + 4, 4).Value = 0
            Cells(gyou + 4, 5).Value = 4
            Call keisen(gyou + 3)
          End If
        End If
      Next I
    Next N
    Range("A1").Select
End Sub
Sub Macro2() '重複不可
    Sheets("Sheet2").Select
    Dim K As Integer
    Dim I As Integer
    Dim N As Integer
    Dim G As Integer
    Dim A As Integer
    Dim S As Integer
    Dim H As Integer
    Dim E As Integer
    Dim kuriagari(3) As Integer
    Dim gyou As Integer
    K = 3
    G = 8
    E = 2
    Cells(1, 1).Value = 0
    For N = 1 To 9
      If N <> K And N <> G And N <> E Then
        '(3*N+A) mod 10=4
        A = (30 + 4 - 3 * N) Mod 10
        If A <> K And A <> G And A <> E And A <> N Then
          kuriagari(1) = (3 * N + A) \ 10
          For I = 0 To 9
            '(2*I+G+E+kuriagari(1) mod 10)=0
            If I <> K And I <> G And I <> E And I <> N And I <> A Then
              If (2 * I + G + E + kuriagari(1)) Mod 10 = 0 Then
                kuriagari(2) = (2 * I + G + E + kuriagari(1)) \ 10
                '(K+H+N+kuriagari(2)) mod 10=0
                H = (30 - (K + N + kuriagari(2))) Mod 10
                If H <> K And H <> G And H <> E And H <> N And H <> A And H <> I Then
                  kuriagari(3) = (K + H + N + kuriagari(2)) \ 10
                  'S+kuriagari(3)=2
                  S = 2 - kuriagari(3)
                  If S <> K And S <> G And S <> E And S <> N And S <> A And S <> I And S <> H Then
                    If S > 0 And S <= 9 Then
                      Cells(1, 1).Value = Cells(1, 1).Value + 1
                      gyou = 6 * Cells(1, 1).Value - 5
                      Cells(gyou, 3).Value = K
                      Cells(gyou, 4).Value = I
                      Cells(gyou, 5).Value = N
                      Cells(gyou + 1, 4).Value = G
                      Cells(gyou + 1, 5).Value = A
                      Cells(gyou + 2, 2).Value = S
                      Cells(gyou + 2, 3).Value = H
                      Cells(gyou + 2, 4).Value = I
                      Cells(gyou + 2, 5).Value = N
                      Cells(gyou + 3, 2).Value = "+"
                      Cells(gyou + 3, 3).Value = N
                      Cells(gyou + 3, 4).Value = E
                      Cells(gyou + 3, 5).Value = N
                      Cells(gyou + 4, 2).Value = 2
                      Cells(gyou + 4, 3).Value = 0
                      Cells(gyou + 4, 4).Value = 0
                      Cells(gyou + 4, 5).Value = 4
                      Call keisen(gyou + 3)
                    End If
                  End If
                End If
              End If
            End If
          Next I
        End If
      End If
    Next N
    Range("A1").Select
End Sub
Sub keisen(ByVal gyou As Integer)
    Range("B" + m(gyou) + ":E" + m(gyou)).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
End Sub
Private Function m(ByVal x As Integer) As String
    m = Right(Str(x), Len(Str(x)) - 1)
End Function


<あつきパパ さん>
I=4がまず決定(3N+A=4にはならないため)
3N+A=24,H+N=5or15
残った数が0,1,5,6,7,9なので
HとNの組み合わせが0と5か6と9だが、
3N+A=24から、Nは0,6,9にはなりえないのでN=5
したがってA=9,H=0,S=1

<teki さん>
まず、S=1しかあり得ません。
10の位は桁上がりを考えると、I=4です。
次に100の位は、桁上がりが2あるので、H+N=5です。
1の位を考えると、桁上がりが2ないとだめなので、N=5
H=0です。
あとは、A=9が決まります。