失われたページの問題

Pocket

YouTubeで数学の問題を見つけました。元はインドの数学オリンピックの問題のようです。

The Seemingly Impossible Missing Book Pages Puzzle From India – Mind Your Decisions

A leaf is torn from a paperback novel. The sum of the numbers on the remaining pages is 15000. What are the page numbers on the torn leaf?
本から1枚の紙が破れています。残ったページ数の合計は15000です。破れた紙のページ番号たちは何ですか?

あえて秋元康のような「ページ番号たち」という変な日本語にしています。
リンク先には回答が書かれていますが自分でもやってみます。

1ページからNページまである本のページ数の合計は
(1+N)*N/2
と表される。
破れたページをx-1とxとする。
破れた紙が1枚なのでページはその両側になる。このときxは偶数。
(1+N)*N/2-(x-1)-x=15000
となる。
ページ数の合計はほぼ15000となる。
(1+N)*N/2≈15000
これを解くと
N≈173

N=173とすると
(1+173)*173/2-(x-1)-x=15000
x=26
となる。xは偶数であり矛盾しない。

少ないN=172とすると
(1+172)*172/2-(x-1)-x=15000
x=-60.5
ページがマイナスになり矛盾。
Nが減少するとxが減少することは明らか。したがってN=172以下はありえない。

多いN=174とすると
(1+174)*174/2-(x-1)-x=15000
x=113
xは偶数であることに矛盾。

さらに多いN=175とすると
(1+175)*175/2-(x-1)-x=15000
x=200.5
本のページ数より多くなり矛盾。

Nが増加するとxが増加することは明らか。したがってN=174以上はありえない。

したがって
N=173
x=26
答えは25ページと26ページ

試しにプログラムで解いてみました。

s = 15000
for N in range(1, 1000):
  for x in range(1, N):
    sum_page = (1 + N) * N / 2
    if sum_page - x - (x - 1) == s:
      print("N=" + str(N))
      print("x=" + str(x))

[ 2019年8月18日 | カテゴリー: Python, 小ネタ | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報