パスワードを忘れた? アカウント作成
403770 journal
Linux

cyber205の日記: なぞなぞ 8

日記 by cyber205

某所で見たなぞなぞ。

1と1と9と9、この4つをを適当に四則演算して10を作れ。

10リットルの油から3リットルと7リットルの升を使って
5リットルを汲み取れ。

5分と3分の2つの砂時計を使って16分を測れ。

ある人物の年齢を3で割ると1が余り、5で割ると2が余る。
さらに7で割ると3が余るが、100は超えていない。
いったい何歳か。

とりあえず、差分を求める奴は簡単なんだよな。
10リットルの油から7リットル取り出して、3リットルを2回抜くと残り1リットル。
これを出力容器に出し、残りをすべて元の容器に移す。
もう一度7リットルの容器に油を組み取り、そこから3リットル抜くと
残り4リットル。これを出力容器に空けて合計5リットルとなり分割完了。

砂時計もちょっと考えると問題なく解ける。要は、逆さにするタイミングなのだ。
まず、両方の砂時計を同時にスタートさせる。5分計のほうは、5分経って砂が尽きたら
サクっとひっくりかえし、7分の砂時計が尽きるまで待てば、差分の2分だけ測り取れる。
ここまでで経過時間は7分。
で、7分側が尽きたら2分間砂が落ちていた5分計をひっくりかえして逆向きに砂が尽きるまで2分計測する。
ここがミソ。
こうして2分追加してやると7+2で経過時間は9分。
あとは、待機させておいた7分計を最後まで動かせば、9+7で16分が計測できるわけだ。

でも、他の2問はさっぱりだ。
特に最初の問題はどう頑張ってもできる気がしない…。
1と1と9と9の計算ではロクな数値ができない。発想の転換が必要かねぇ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by ozuma (5119) on 2003年08月07日 2時04分 (#373744) ホームページ 日記
    ある人物の年齢を3で割ると1が余り、5で割ると2が余る。
    さらに7で割ると3が余るが、100は超えていない。
    いったい何歳か。
    1. 5で割ると2が余るから、1の位は2か7しか無い
    2. 3で割ると1が余るから、10の位+1の位も3の倍数+1で無いとならない(3の倍数は各ケタを足すと3の倍数になっている)
    3. なので、候補は 22,52,82,37,67,97の6つだけ
    4. このうち7で割って3余るのは52だけ
    1と1と9と9、この4つをを適当に四則演算して10を作れ。

    ベキ乗も良いなら、1^9+9^1ですね。しかし四則演算だけだと……出来るのでしょうか?

    • by YOUsuke (6796) on 2003年08月07日 2時43分 (#373764) ホームページ 日記
      1と1と9と9
      答を知ってるけど書いたら怒るだろうなぁ。
      --
      妖精哲学の三信
      「だらしねぇ」という戒めの心、「歪みねぇ」という賛美の心、「仕方ない」という許容の心
      親コメント
      • by cyber205 (4374) on 2003年08月07日 3時26分 (#373777) ホームページ 日記
        もうちょっと考えてみたんですが、
        マトモな計算をしないでいいのなら、

        19ー9*1なんていう計算も可能かなと。
        ただ、これは意地悪問題みたいな感じなんですよねぇ。
        親コメント
        • by __hage (7886) on 2003年08月07日 5時01分 (#373804)
          5年位前にRubyで全数探索するプログラムを書いたことがあります。その例にある「19-9*1」の類いのことをしなくても答は出ましたよ。答は書きませんが、Rubyが見つけてきた答の前でしばし呆然と見とれてました。

          ペンと紙でだいぶあれこれやってみた末に、今までやったことのなかったパズルを解くプログラムをやってみたくなって作ってみたのでした。もうなくなってる自分のwebページ [archive.org]でソースを出してました。

          恥ずかしいのであんまり見ないでください。今見るとひどい書きかたしてるなあ。思わず添削したくなっちゃう。だいたい、人間が使う書式を生成してevalなんてやらんで、逆ポーランド計算機を作ってやればいいのにとかいろいろ思いはよぎります :)。当時のRubyのバージョンは1.1で今のでそのまま動くかどうかはわかりませんが参考までに。
          親コメント
          • by cyber205 (4374) on 2003年08月10日 12時05分 (#375970) ホームページ 日記
            とうとうわかんなくて、そのコード実行しちゃいました…。
            うちはDebian/Woody機を使いましたが、問題なく稼働しました。

            最後にX倍することを前提に考えると、わからなくもないんでしょうけど、
            やはりこういう計算方法を考え付くというのは凄いですね。

            また、計算機を使うと、知恵をしぼらなくてもしらみつぶしに探索して、
            答えを見付けてしまうことができるというのもよくわかった気がします。
            もともと、数学/物理ってのは応用する段階でパワー勝負なトコがありますから、
            こういうやり方はホントに有効なんだなと思った次第。

            マンデルブロとかも、計算機なしで研究するのは既に非現実的ですし、
            以前に新聞で見たのですが、「フルタの不等式」を開発した古田孝之教授 [sut.ac.jp]なんかも、
            電子計算機で自分の理論の妥当性チェックをやったとか。

            こういう方法も、アリなんですね、今は。
            親コメント
            • はじめまして。面白そうなのでちょっと計算してみました。

              解を A \1 B \2 C \3 D = 10 (ただし\1~\4は任意の四則演算子で、A~Dには1,1,9,9の数字が順不同で入る)として、\1~\4のうち、計算規則上最初に計算できるものを\fとする。
              (A+B)*(C-D)のような形や、乗除法の交換法則を考慮に入れるので、\fは複数存在し得る。
              \fとその前後の数を X \f Y = Zと表す。

              \fのうち任意のひとつを計算した後の式をP \x Q \y R =10 (ただし\xと\yは任意の四則演算子) とする。

              Z=9*9=81の場合、(81,1,1)
              Z=9/9=1の場合、(1,1,1)
              Z=9+9=18の場合、(18,1,1)
              Z=9-9=0の場合、(0,1,1)
              がP,Q,Rの組み合わせとして現れるが、いずれも四則演算で10は得られないので不適

              よってX=Y=9はありえない・・・i)

              Z=1*1=1の場合、(1,9,9)
              Z=1/1=1の場合、(1,9,9)
              Z=1+1=2の場合、(2,9,9)
              Z=1-1=0の場合、(0,9,9)

              がP,Q,Rの組み合わせとして現れるが、i)より9と9を直接演算することはありえないので、(1と9)と9、(2と9)と9、(0と9)と9、という組み合わせになる。
              ここで、9との四則演算によって10を作るのは、10/9、90、9/10、1、19、-1の6通りであるが、これはどの組み合わせでも得られない。よっていずれも不適で、X=Y=1もありえない・・・ii)

              Z=1*9=9の場合、(9,1,9)
              Z=1/9=1/9の場合、(1/9,1,9)
              Z=9/1=9の場合、(9,1,9)
              Z=1+9=10の場合、(10,1,9)
              Z=1-9=-8の場合、(-8,1,9)
              Z=9-1=8の場合、(8,1,9)

              がP,Q,Rの組み合わせとして現れるが、ii)の結果より、(1,9,9) の組み合わせは除外できる。よって、P,Q,Rのうち9でも1でもない数をSとすると、その候補として1/9,10,-8,8の4つが考えられる・・・iii)

              9との加減演算によって10を作るのは1,19,-1であるが、これを1との加減演算によって得ることができるSの候補はなく、\xと\yが同時に加減の演算子となることはない。また、Sの候補には9との乗除演算で10を作るものはないので、\xと\yが同時に乗除の演算子となることもない。

              ゆえに、
              1と9の加減結果とSを乗除する
              Sと1の加減結果と9を乗除する
              Sと9の乗除結果に1を加減する
              のいずれかによって10を得ることになる。

              ここで、1と9の加減結果は10,8,-8のいずれかだが、これと乗除演算をして10を得られるSの候補はない。また、9との乗除によって10を得られる数は10/9,9/10,90であるが、1との加減によりこのいずれかを得られるSの候補は1/9+1=10/9のみ。1との加減により10を得られるのは9,11,-11だが、9との乗除でこのいずれかを得られるSの候補はない。

              よって、1/9+1*9=10が解であり、これ以外に解はない。

              いやぁ、しんどかった。数字が5つ超えたら機械でやった方が確実に速いでしょうねぇ。ふぅ。
              --
              yp
              親コメント
        • by YOUsuke (6796) on 2003年08月07日 12時07分 (#374045) ホームページ 日記
          5年くらい悩んでも解けないってことを彼女に話したら3日くらいで解いてくれました。
          自分の頭の固さを痛感した次第。
          --
          妖精哲学の三信
          「だらしねぇ」という戒めの心、「歪みねぇ」という賛美の心、「仕方ない」という許容の心
          親コメント
    • by k3m (12461) on 2003年08月11日 17時08分 (#376856) 日記
      >ある人物の年齢を3で割ると1が余り、5で割ると2が余る。
      >さらに7で割ると3が余るが、100は超えていない。
      >いったい何歳か。

      百五減算ですね。105以下の正の整数 x があって、
      3, 5, 7 で割った余りが、 a, b, c のとき、
      x = (70a+21b+15c)%105
      になります。

      江戸時代の数学書所載の数当てゲームだそうです。
      親コメント
typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...