アプリ版:「スタンプのみでお礼する」機能のリリースについて

1~9の数を1回ずつ□に入れて
■□□ ①
×■□ ②
ーーー
■□□ ③
+□□ ④
ーーー
■□□ ⑤

が成立するようにしなさい。
※■は空白を表しています。
①×②の計算結果が③、次に③に④を足して⑤を計算します。



という問題の効率的な解き方を教えてください。

コンピュータで全パターンを網羅的に計算したところ
答えが得られましたが、論理的に解く方法を考えています。
■17 ①
×■4 ②
ーーー
■68 ③
+25 ④
ーーー
■93 ⑤


①が49以下であること ※そうでないと③が3桁を超える
①の一の位が5でないこと
①の一の位が1でないこと
②が5でないこと
②が1でないこと
などは明らかですが、その他、有効な考え方はないでしょうか。

A 回答 (2件)

(10a+b)×c = 10d+e


  10d+e + 10f+g = 10h+i
  {a,b,c,d,e,f,g,h,i} = {1,2,3,4,5,6,7,8,9}
という問題っすね。

  a∈{1,2,3,4}
  {b,c}⊂{2,3,4,6,7,8,9}
  e+g ≡ i または e+g = 10+i
  d+f = h または d+f+1 = h
であることは自明。
また、
  10h+i ≦ 98
だから
  10d+e ≦ 98-(10f+g)
でなくてはならない。一方
  10f+g ≧ 12
だから
  10d+e ≦ 98-12 = 86
である。さらに
  a=1ならば bc≧10
ということも分かる。(さもないと、d=cになる。)

で。

● まずはc≧6の場合を考える。
  (10a+b)×c = 10d+e ≦ 86
より
  (10a+b) ≦ [86/6] = 14 ([x]はxの整数部分のこと)
従って a=1 である。だから
  10f+g ≧ 23
であり、ゆえに
  10d+e ≦ 98-23 = 75
なので
  (10a+b) ≦ [75/6] = 12
従ってa=1,b=2であると決まる。(c≧6なのでbc≧10は満たされる。)
さて、1と2が使用済みだから
  10f+g ≧ 34
ゆえに
  10d+e ≦ 98-34 = 64
なので
  (10a+b) ≦ [64/6] = 10
である。これを満たすa,bはない。

以上から
  c∈{2,3,4}
だと分かった。これを場合分けで調べて行く。

● c=4の場合を考える。
  (10a+b)×4 = 10d+e ≦ 86
より
  (10a+b) ≦ [86/4] = 21
ところがb≠1, b≠0 だから
  (10a+b) ≦ 19
であり、従って a=1 である。だから
  10f+g ≧ 23
ゆえに
  10d+e ≦ 98-23 = 75
なので
  (10a+b) ≦ [75/4] = 18
一方,a=1なのでbc≧10より、b≧3
従って 
  b∈{3,6,7,8}
である。
さて、 c=4, a=1, b∈{3,6,7,8}より、
  (10a+b)×4 = 10d+e ∈ (52,64,68,72}
ここでb=6の場合同じ数字がダブっていて、アウト。ゆえに
  c=4, a=1, b∈{3,7,8}, 10d+e ∈ (52,68,72}
つまり、
  <a,b,c,d,e>∈{<1,3,4,5,2>, <1,7,4,6,8>, <1,8,4,7,2>}
である。
  ● <a,b,c,d,e>=<1,3,4,5,2>の場合
    {f,g,h,i}={6,7,8,9}
  である。
    5+f=h または 5+f+1=h
  を満たす事はできない。アウト。
  ● <a,b,c,d,e>=<1,7,4,6,8>の場合
    {f,g,h,i}={2,3,5,9}
  である。すると
    6+f=h または 6+f+1=h
  を満たすのは
    <f,h> ∈{<2,9>, <3.,9>}
  であり、h=9と決まる。すなわち
    68 + 10f+g = 90+i
  より
    10f+g = 22+i, i∈{2,3,5}
  だから
    24≦10f+g≦27
  ゆえにf=2と決まる。
    g = 2+i, {i,g}={3,5}
  だから、
    g=5, i=3 と決まる。すなわち、
  17×4 = 68, 68 + 25 = 93

  ● <a,b,c,d,e>=<1,8,4,7,2>の場合
    {f,g,h,i}={3,5,6,9}
  である。すると
    7+f=h または 7+f+1=h
  は満たせない。
以上から、c=4の場合、
  17×4 = 68
  68 + 25 = 93
が唯一の解である。

●c=3の場合を考える。
  (10a+b)×3 = 10d+e ≦ 86
より
  (10a+b) ≦ [86/3] = 28
なので a∈{1,2} である。
  ● <a,c>=<2,3>の場合
    10f+g ≧ 14
   ゆえに
    10d+e ≦ 98-14 = 84
   なので
     (20+b) ≦ [84/3] = 28
   よって
     b∈{4,6,7,8}
   であるから、
     <a,b,c,d,e> ∈ {<2,4,3,7,2>,<2,6,3,7,8>, <2,7,3,8,1>, <2,8,3,8,4>}
   数字がダブってるのを除くと
     <a,b,c,d,e> ∈ {<2,6,3,7,8>, <2,7,3,8,1>}
   である。
     ●<a,b,c,d,e> = <2,6,3,7,8>の場合
       {f,g,h,i}={1,4,5,9}
     である。
       7+f=h または 7+f+1=h
     を満たすのは 
       <f,h>=<1,9>
     の場合。従って
       {g,i}={4,5}
     ところがe=8が偶数なので、g,iは両方とも奇数であるか、両方とも偶数でなくてはならない。
     よってアウト。
     ●<a,b,c,d,e> = <2,7,3,8,1>の場合
       {f,g,h,i}={4,5,6,9}
     である。
       8+f=h または 8+f+1=h
     は満たせないので、アウト。
   よって、<a,c>=<2,3>はアウト。
  ● <a,c>=<1,3>の場合
    10f+g ≧ 24
   ゆえに
    10d+e ≦ 98-24 = 74
   なので
     (10a+b) ≦ [74/3] = 24
   (a=1)なので bc>10である。よって
     b∈{4,6,7,8,9}
   と分かる。
     <a,b,c,d,e> ∈ {<1,4,3,4,2>, <1,6,3,4,8>, <1,7,3,5,1>, <1,8,3,5,4>}
   のうちで、同じ数字がダブってるのを除くと、
     <a,b,c,d,e> ∈ { <1,6,3,4,8>, <1,8,3,5,4>}
   である。
     ●<a,b,c,d,e> = <1,6,3,4,8>の場合
       {f,g,h,i}={2,5,7,9}
      である。
        8+g=i または 8+g=10+i
      を満たすのは
        <g,i>∈{<9,7>, <7,5>}
      の2通りで、どちらも繰り上がりが生じるので
         4+f+1=h
      を満たさねばならず、よって
        <f,h>=<2,7>
      と決まる。すると、g,iのどちらかと7がダブるので、アウト。
     ●<a,b,c,d,e> = <<1,8,3,5,4>の場合
       {f,g,h,i}={2,6,7,9}
      である。
        4+g=i または 4+g=10+i
      は満たせない。アウト。
   よって、<a,c>=<1,3>はアウト。
よってc=3はアウト。

●c=2の場合を考える。
  (10a+b)×2 = 10d+e ≦ 86
より
  (10a+b) ≦ [86/2] = 43
なので a∈{1,3,4} である。
  ● <a,c>=<4,2>の場合
    10f+g ≧ 13
   ゆえに
    10d+e ≦ 98-13 = 85
   なので
     (40+b) ≦ [85/2] = 42
   従って、b≦2である。ところがb≠1であり 2=c。なのでアウト。

…てな調子なのだが、字数制限に引っかかるようなので終わり。
    • good
    • 0
この回答へのお礼

Cによる場合分けですね。なかなか難しい問題だということがわかってきました。ガウス記号など、とても緻密な考察になるのですね。

お礼日時:2017/08/06 18:34

stomachmanさんは、すごいですね

    • good
    • 0
この回答へのお礼

そうですね。丁寧に、時間を割いて回答いただいたことに感謝しています。

お礼日時:2017/08/06 18:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!