「今月の問題」 第60回 (平成16年9月)

 

 バーコードは現物と違う商品を認識し間違えないようにチェックキャラクタがある仕組みを知りました。

 左図のバーコードを見てください。これは、あるソニーの製品をコピーしました。490178055AB69の数字が並んでいます。

ここで問題です。A,Bにあてはまる数字はいくらになるでしょうか。ただし、A,BはA>Bである素数です。

 

 

<チェックキャラクタの計算の仕方 4902425613642の場合>

1. 12桁の右端の桁から、奇数桁の各数字を合計して3倍する。   (4+3+6+2+2+9) × 3=78

2. 12桁の右端の桁から、偶数桁の各数字を合計する。    6+1+5+4+0+4=20

3. 奇数桁と偶数桁の結果を合計する。              78+20=98

4. 98の1の位を、10から引く。                   10ー8=2
         この、がチェックキャラクタとなります。

 

<正解者一覧表>             
正解者順位     name      メール到着日時     備 考  
 1寺脇犬 さん2004/9/1 0:12生駒市 
 2 ろろ2004/9/1 0:14神奈川県 
 3Michael さん2004/9/1 0:16 
 4雀鬼 さん2004/9/1 0:16 
 5nobu さん2004/9/1 0:17 
 6N.Nishi さん2004/9/1 0:27大阪府:中学教諭 
 7ナルとも さん2004/9/1 6:53愛知県 
 8巷の夢 さん2004/9/1 7:32宮城県出身 
 9ぶぎ さん2004/9/1 8:46神奈川県 
11kasama さん2004/9/1 11:16和歌山県プログラマ 
11ゴンとも さん2004/9/1 13:40 
12経友会の進作 さん2004/9/1 18:11京都府木津町・66歳 
13ISAMU さん2004/9/1 19:18三重県
14ゴンとも さん2004/9/1 13:40 
15小林 祥久 さん2004/9/1 20:12 
16なにわ さん2004/9/1 20:36西宮市 
17teki さん2004/9/1 22:51大阪府 
18ちず さん2004/9/1 23:08愛媛県 
19フジ27時間 さん2004/9/2 1:06香川県 
20虫虫 さん2004/9/2 9:48 
21浜田 明巳 さん2004/9/2 16:16 
22安楽 さん2004/9/2 16:25宮崎県小林市 
23 ほげ2004/9/2 19:45北の隠れ家 
24宮 さん2004/9/4 21:25鹿児島県 
25 呑ちゃんはカッパなの2004/9/4 23:44前世はカッパかナメクジなのね
26奥入瀬 さん2004/9/4 23:51東京都 
27oguchan1 さん2004/9/5 21:24岡山県 
28信三 さん2004/9/6 15:52シリコンバレーの住人 
29プロビーム さん2004/9/6 23:28埼玉県熊谷市 
30正ちゃん さん2004/9/7 15:06佐賀県 
31オカムラスト さん2004/9/8 22:15埼玉県熊谷市 
32 あつきパパ2004/9/10 14:511歳児の父
33まゆパパ さん2004/9/10 18:19神奈川県在住のパパ 
34BERAME さん2004/9/13 9:27大阪府,公務員 
35Plutonian さん2004/9/16 3:16冥界より 
36922 さん2004/9/22 22:16兵庫県赤穂郡 
37ルート55 さん2004/9/26 22:10滋賀県 
38akira さん2004/9/27 17:47 
39BossF さん2004/9/27 18:07 
41JH3PTH さん2004/9/29 16:45 
42三日月キリン さん2004/9/30 18:36 
43むすこ&すてっぷ さん2004/9/30 20:50 
44Gakkun さん2004/9/30 22:13広島県 在住 
45 mhayashi2004/9/30 23:35大阪府

答えは(A,B)=(5,3)でした。

 

<ゴンともさんの解答>
先ず、題意の1番目の条件より
(6+A+5+8+1+9)*3=87+3*A・・・・・・@
2番目の条件より
B+5+0+7+0+4=B+16・・・・・・A
3番目の条件は@,Aより
(87+3*A)+(B+16)=3*A+B+103
4番目の条件はすぐ前で
A,BはA>Bを満たす1桁の素数なので
7,5,3,2 の中で
(A,B)=(7,5),(7,3),(7,2),(5,3),(5,2),(3,2)・・・・・・B
それぞれ 3+B+2*Aで
3+5+3*7=29,3+3+3*7=27,3+2+3*7=26,3+3+3*5=21,3+2+3*5=20,3+2+3*3=14
この1の位をそれぞれ10から引く
10-9=1(不可),10-7=3(不可),10-6=4(不可),10-1=9(答えを導くもの)
10-0=10(不可),10-4=6(不可),
答えを導くものは(A,B)組の4番目でBより(A,B)=(5,3)・・・・・・(答え)

 

<経友会の進作さんの解答>
(1) 奇数桁の和の3倍 (6+A+5+8+1+9)×3=3A+87。
(2) 偶数桁の和     B+5+0+7+0+4=B+16
(3) (1)+(2)       3A+B+103
(4) AとBの組み合わせ→A>Bで2数は素数なので
   (A、B)=(7、5)、(7、3)、(7、2)、(5、3)、(5、2)、(3、2)。
(5) (3)に各組の数字を代入し、(3)の数を求めると
    順に 129、127、126、121、120、114となり、
    10から各数字の1桁の数字を引いたものが9なので
    求める数字は121である。従って求める組み合わせは
    (A、B)=(5、3)であり、A=5、B=3である。

<浜田 明巳さんの解答>
 エクセルのマクロで解きました.
 A=5,B=3の1通りの答です.

Option Explicit '490178055AB69
Sub Macro1()
    Sheets("Sheet1").Select
    Cells(1, 1).Value = 0
    Range("A1").Select
    '
    Dim a(12) As Integer
    Dim wa As Integer
    Dim j As Integer
    a(0) = 9
    a(1) = 6
    a(4) = 5
    a(5) = 5
    a(6) = 0
    a(7) = 8
    a(8) = 7
    a(9) = 1
    a(10) = 0
    a(11) = 9
    a(12) = 4
    wa = 0
    a(2) = 2 'B
    While a(2) < 9
      If IsPrime(a(2)) Then
        a(3) = a(2) + 1 'A
        While a(3) < 9
          If IsPrime(a(3)) Then
            For j = 1 To 12
              wa = (wa - a(j) * (3 * (j Mod 2 = 1) + (j Mod 2 = 0))) Mod 10
            Next j
            If wa + a(0) = 10 Then
              Cells(1, 1).Value = Cells(1, 1).Value + 1
              Cells(Cells(1, 1).Value, 2).Value = a(3)
              Cells(Cells(1, 1).Value, 3).Value = a(2)
            End If
          End If
          a(3) = a(3) + 1
        Wend
      End If
      a(2) = a(2) + 1
    Wend
End Sub
Private Function IsPrime(ByVal n As Long) As Integer
    Dim j As Integer
    IsPrime = -(n > 1)
    j = 2
    While IsPrime And j * j <= n
      If n Mod j = 0 Then
        IsPrime = 0
      Else
        j = j + 1
      End If
    Wend
End Function

 

<ほげさんの解答>
 3(A+1)+B=○1 Aは3,5,7の奇数なので Bも奇数
よってAは5,7のどちらか A=5のとき 18+B=○1から B=3
A=7のとき24+B=○1 を満たすB(<A)はない

 

<宮さんの解答>
 @ 3(6+A+5+8+1+9)
A B+5+0+7+0+4
B @+Aより
  103+3A+B
A,Bは一桁の素数なので、A>Bより、最大値は7,5である。
  それを代入すると129になる。
C Bより129より小さくて、一の位が1になる数を探せばよい。
  また、この数は103よりは大きいので、111か121である。
  条件に合うのは121のときで、A=5、B=3のときである。
   

<ルート55さんの解答>
1)奇数桁の計算
  (6+A+5+8+1+9)*3=87+3A
2)偶数桁の計算
  B+5+0+7+0+4=16+B
3)結果の合計
  (87+3A)+(16+B)=103+3A+B
問題となるのは1の位だけで
且つA>B、ともに素数なので
A = {3,5,7}
B = {2,3,5}
問題となるのは以下の部分のみ
  3+3A+B (>10)
従ってチェックキャラクタが9になるのは次の場合が考えられる
20-3+3A+B =9 ----@
30-3+3A+B =9 ----A
@より B=8-3A Aは最小3なので成り立たない
Aより B=18-3A=3(6-A)
∴ A=5、B=3

 

<三日月キリンさんの解答>
490178055AB69から、例題に沿って考える。
(6+A+5+8+1+9)*3=87+3*A ・・・@
B+5+0+7+0+4=16+B     ・・・A
@Aより 103+3*A+B    ・・・B
A,Bに当てはまる数字は1,2,3,5,7である。
Aにそれぞれの素数を当てはめた時、以下のそれぞれの値になる。
3,6,9,15,21,
また(A,BはA>Bである素数)と言う条件から、A=1はありえないので
6,9,15,21,            ・・・C
について考えればよい。 
「10」からBで出た値の1の位を引いた数が「9」であることから、
Bの値の1の位は1である。
さらに1の位にのみ注目すればよいので
Cの値から「6,9,5,1」、Bの103より「3」に注目し、考えていく。
以上より、使用できる数字で11を作ればいいことは明らかで
11を作ることができ、かつ問題の条件に合う組み合わせは
A=5、B=3しかありえない。
と言う感じでどうでしょうか?
書き終わってみてみると、
さらに1の位にのみ注目すればよいので
Cの値から「6,9,5,1」、Bの103より「3」に注目し、考えていく。
のくだりはあまり必要がない気がしました。