このページのみ全てのページ
GitBook提供
647ページのPDFを生成できませんでした、100で生成が停止しました。
さらに50ページで拡張
1 / 100

Project Euler.ja

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

アワード (*)

リンク先は各 Award の受賞者一覧ページ, Project Euler サイトにログインした状態で閲覧可能です. 進行状況確認ページ(Progress)で表示されている表に準じています。統計ページ(Statistics)に表示される表とは並びが異なるのでご注意下さい。↑

Problem Solving Awards †

(* difficulty explorer, coquering difficultiesが増えている)

Forum Post Awards

  • この "Forum" とは正答後に閲覧, 投稿することができる問題, 解法, プログラミング議論用フォーラムのことです. Project Euler のサイトフォーラム, にはがありますが, これとは異なるので注意.

  • 問題発表後, 冒頭100件の投稿が自動的に永久保存ポスト (permanent post) にされ, その後は最新100件の投稿より古い投稿は, 管理者が手動で永久保存ポストにしない限り, 自動的に削除されます.

  • "kudo" とはいわゆる投稿評価ポイントです. 投稿者には問題毎に5個の kudo 投票権が与えられ, ためになる, 熟慮されていると思う投稿に投票することができます.

Project Eulerについて (ログインしていないときの表示)

Project Eulerとは何ですか?

Project Eulerとは挑戦しがいのある数学/コンピュータプログラミングの問題集で、単なる数学的洞察だけではこれを解くことはできません。数学の知識があれば簡潔かつ効率的に問題を解くことができますが、多くの場合はコンピュータとプログラムの技能が必要です。

Project Eulerを開始し、また継続している動機は、未知の分野を探索し、愉快で楽しいコンテキストから新しい概念を学ぼうという探究心のためのプラットホームを提供することです。

これらの問題は誰を対象としていますか?

普通のカリキュラムでは飽きたらない学生、数学の専門家ではないが物事を数学的に扱うことに興味のある社会人、そして問題解決や数学の研鑽を積みたい専門家を想定しています。

誰でも問題を解くことができますか?

問題の難易度はさまざまです。多くの問題では帰納的連鎖学習(inductive chain learning)が期待されます。帰納的連鎖学習とは、一つの問題を解くことによって、新しいアイデアに触れることができ、それによって以前は解きようのなかった問題に着手することができるようになるということです。なので、やる気のある参加者ならば, ゆっくりではあるが着実に一問一問解いていくことができます。

次はどうしたら?

あなたの進行状況を記録するため、アカウントを設定しCookieを有効にする必要があります。すでにアカウントを持っていればログインを、でなければ登録をお願いします。全て無料です!

どんな問題に挑戦するのか、登録する前に問題を見てみるのも良いでしょう。

001~100

Decathlete

Flawless Fifty

C for Commitment

CC for Continued Commitment

D for Dedication

As Easy As Pi

3問解く

レベル1に到達する

連番の10問を解く

連番の50問を解く

最初の100問を解く

最初の200問を解く

最初の500問を解く

IDが 3, 14, 15, 92, 65, 35, 89, 79, 32, 38, 46 (円周率2桁区切り) の問題を解く

Unlucky Squares

Prime Obsession

Trinary Triumph

Fibonacci Fever

Triangle Trophy

Lucky Luke

Daring Dozen

Decimation I

IDが平方数の問題を13問解く

IDが素数の問題を50問解く

IDが 1, 3, 9, 27, 81, 243 (3のべき乗) の問題を解く

フィボナッチ数の最初の12項と同じIDの問題を解く

三角数の最初の25項と同じIDの問題を解く

IDが幸運数の問題を50問解く

IDが3桁の問題を12問解く

101から200までの問題を10問ごとにひとつずつ解く

Decimation II

Ultimate Decimator

One Percenter

High Flyer

Perfection *1

The Archivist

Master of Archives

On The Ball

201から300までの問題を10問ごとにひとつずつ解く

1から400までの問題を10問ごとにひとつずつ解く

Project Eulerの問題解答数ランキングで1%以内となる問題数を解く

最高レベルに到達する

すべての問題を解く

アーカイブ*2の半分を解く

アーカイブを全問解く

最新の問題を解く

High Five

Ten Out Of Ten

State Of The Art

One In A Hundred

Chart Topper

Gold Medal

Easy Prey

Big Game Hunter

最新5問を解く

最新10問を解く

最新25問を解く

問題を解いた最初の100人に入る

問題を解いた最初の10人に入る

一番最初に問題を解く

最も簡単な問題50問のうち25問を解く

最も難しい問題50問のうち25問を解く

Hello World!

Wise Words

Valued Contributor

Esteemed Journalist

The Guru

初めて永久保存ポストを投稿

永久保存ポストで合計5個のkudoをもらう

永久保存ポストで合計25個のkudoをもらう

永久保存ポストで合計100個のkudoをもらう

一つのフォーラムスレッドで10個のkudoをもらう

†
http://projecteuler.chat
問題についての質問フォーラム
Baby Steps
The Journey Begins

Project Eulerについて (ログインしているときの表示) (*中途)

どの問題から始めるべきですか?

それはあなたのもつ背景知識によります。問題の一覧表が2つあります。最近の問題リスト(Recent)には、最近公表された最新10問があります。あなたがProject Euler初心者なら、ここの問題の様々な問題の種類や難易度の感じをつかむために、アーカイブ(Archive)から始めるのがよいでしょう。

初めの100問あたりは、おおむねそれ以降の問題より易しいと考えられます。アーカイブの問題の一覧表には、それぞれの問題を解いた人数を示しています。一般的に、問題を解いた人数が多いほど、その問題は易しいと言えるでしょう。さらに、難易度評価システムもどこから手を付けるかの目安になるでしょう。アーカイブの表は番号(ID)、解いた人数(Solved By)、難易度(Difficulty)順に並べ替えることができます。

プログラムを書いたのですが、計算が終わるのに何日もかかってしまいます。

そんなはずはありません。それぞれの問題は「1分ルール」に基づいて作られています。つまり、難しい問題の場合、正しいアルゴリズムを考えるのには何時間もかかるかもしれませんが、どんなに難しい問題であっても、効率的な実装ができれば、そこそこの性能のコンピュータでも1分以内に答えを算出できるようにしています。

計算時間が1分以上かかってしまうのはダメですか?

それは気にしなくてかまいませんが、問題に立ち戻ってアプローチを改善させる動機になります。問題を解くとその問題に関連する掲示板にアクセスできるようになるので、そこで他の人のやり方をみることができるということを覚えておいて下さい。

検索エンジンを使って問題を解いてもよいですか?

インターネットを使って検索することは奨励されています。それによって多くの問題の下に隠された数学的な宝物が見つかることがあるからです。しかし、アイデアを検索することと、他所のウェブサイトで見つけた答えをただ使うことは紙一重です。クロスワードの答えをコピー機で複写したならば、あなたは何も達成していません。

自分のプログラムを10回見直したのですが、それでも答えが間違っていると言われてしまいます。問題が間違っているのでは?

新しく発表された問題では小さな間違いが入り込むことが十分ありえます。あるいは言葉遣いが曖昧であったり、説明が十分でないのかもしれません。しかし, 多くの人が問題を解いている中でただ一人10回間違いに突き当たるのは、あなたが間違っているのにもかかわらず、何か他のことのせいにしている可能性が高いでしょう。

問題を解く上で何かヒントはありますか?

問題の細部を注意深く読み、与えられた例を心にとどめて下さい。問題の裏に潜むアイデアに触れるために紙とペンで実験をおこなってください。もしも問題のアイデアがあなたにとって初めてのものだったら、インターネットや本で背景知識を得て下さい。問題には何を参照すべきかのヒントが載っているはずです。簡単な場合のプログラムを書き、例に示されている結果と一致することを確認してください。問題を正確に理解し、正しい方向に向かっていることが確認できるでしょう。このような試行から、最終結果を計算するのにかかる時間を推定してください。もし, その時間が1分を大きく上回るようであるのならば、もう一度戦略を練り直して下さい。

レベルとアワードとは何ですか?

25問解答するごとにレベルが1つ上がっていき、これを短期間の目標にすることで励みとすることができます。アワードは様々な条件により獲得できます。獲得する方法を知りたければ、のページに行くと現在用意されているアワードの完全なリストを見ることができます。レベル、アワードともに、統計ページの画像をクリックすればレベル別、あるいは特定のアワードを獲得したメンバーを確認することができます。

それぞれの問題には掲示板があるとのことですが、なぜ私はアクセスできないのでしょう?

問題の掲示板は正答しないとアクセスできません。アクセスすれば、他のメンバーがどのように問題を解いたか、手法に対する議論を見ることができ、あなたの考えを共有することができます。

名声(Kudos)とは何ですか?

名声の目的は、役に立つ、有用で、よく練られた投稿を見つけたことを投稿者や他のメンバーに知らせることです。各問題の掲示板につき5まで名声ポイントを付与することができます。ですので本当に価値があると思う投稿にのみ使用してください。

議論スレッドにはなぜ消滅する投稿があるのですか?

最初の100件の投稿のみが自動的に永続化されます. その後は最新の100個の投稿のみが保持されます; 古い投稿は自動的に削除されます. ただし, もし素晴らしい投稿がされた場合は管理者がそれを永続化することがあるかもしれません. Kudosはメンバーが有益な投稿を見つけ, 保存すべきであると管理者に知らせることのできる便利な方法です.

他に議論できる場所はないですか?

ありますよ! 一般的な議論に参加したり, 問題の解法やプログラミングのアイデアを共有したり, ウェブサイトについての提案をしたり, 問題の大まかなヒントや解説について聞くために, メンバーが投稿できる設定になっている代わりのphpBBフォーラムがあります. フォーラムへのリンクは下記に, しかしProject Eulerのサイトのアカウントから自動的にフォーラムのアカウントが移行して作られるわけではないので, フォーラムでアカウントを作成する必要があることに注意してください.

フォーラムウェブアドレス :

このフォーラムでのあなたの投稿はすべてのメンバーに見えています, ですので問題の解き方を明確に暴露してしまうことが無いようよく考えて投稿する必要があることに注意してください.

問題XXXの解き方を十分会得しました, なので私の解き方をどこかに発表してもよいですか?

あなたはすでに自分の質問に答えているように思います. しばらくの間取り組んだ問題を解き明かした時のなるほど!という瞬間より素晴らしいものはありません. 他の人にもこの瞬間を楽しんでもらうために私たちの考えを共有したいという善意であることも多いでしょう. しかし残念ながら, それは読者のためにはなりません. 真の学習とは積極的なプロセスであり, また発見のひらめきを経験するまでの長い道のりが一体どのようなものであるかを垣間見ることでもあります. あなたの高じた自尊心によって他の方からその経験を奪ったりしないようお願いします.

どのようにProject Eulerと連絡を取ったらよいですか?

Project Eulerのチームメンバーと連絡を取るには上記のphpBBフォーラムを用いるのが望ましい方法です. チームは定期的にフォーラムを確認しており, 大抵の問題であれば素早く効果的に対処できます. 代わりに, kevinsogo氏に新しい問題のアイデアを送る, あるいはeuler氏に緊急の技術的な問題について連絡できるページを使うことができます. 上記2つのカテゴリー以外のメッセージは無視されます.

このプロジェクトが始まったきっかけは何ですか?

Project EulerはColin Hughes(別名 euler)によりのサブセクションとして始められました. 当時, この手の問題にこれほどの人気がでるとは誰も思いませんでした. 開始以来, プロジェクトを発展させるためのメンバーの交流は続いています. Project Eulerは2006年に独自ドメインに移行しました.

Project Eulerは誰が運営していますか?

新しい問題のアイデアはメンバーで出しあっています. そのアイデアは有能な数学者やプログラマーによって煮詰められます. 端的に言えば, これらの人々がProject Eulerの運営者です.

Project Eulerに寄付することはできますか?

もちろんできます! Project Eulerはメンバーの持ち出しで運営されています. もしあなたが問題を楽しんで, 何か恩返しがしたいと思ったら, 寄付して頂けるのは大歓迎です.

(公式のaboutページにPaypal寄付ボタンが置かれています)

免責事項

創設以来, 多くの人たちの協力により, ここ数年Project Eulerの人気が非常に高まっています.

参加者はたいてい自分の成績を自慢したがるものです. 問題ページに設置されている掲示板はその最適の場所になっています. しかしその一方で, 人気の高まりは, 別の目的を持った人たちを惹きつけています. 多くのサイトが上記掲示板の代わりにProject Eulerの問題に対する解答を発表しており, どういうわけかそれらの解答を収集し提出して成績を自慢している人がいるようです.

こうした人たちを, 独力でProject Eulerを解いている参加者と確実に区別することは不可能です. Project Eulerのランキングは, こういうものだと解釈すべきです: その問題にメンバーが解答を提出し, 解答チェックで確認された正答数を表示したもの. 自力で達成したんだ, ということはメンバー自分自身が一番よくわかっています. 競争することにあまり重点を置き過ぎてしまうと, Project Eulerの目的の1つである問題を解くという楽しみを台無しにしてしまいます. そしてまた, 実績に対するメンバーからのいかなるクレームに対しても, Project Eulerが信用性を立証することはできません. 仮に重要だとしても, そうしたクレームを立証するには第三者による別の手段が必要になるでしょう.

少数の参加者の意図にかかわらず, 愉しみや教育のために質の高い問題を提供し続けることがProject Eulerの最大の目的です.

ログイン時に問題一覧下部に表示される注意事項

注記: この問題が解けないんだけど、とProject Eulerに連絡してこないでください。「解けない」ということは、つまり「解けていない」ということです!

Project Euler 和訳

Project Euler 有志による和訳Wiki をGitBookに写しているだけです。

ライセンス

CC BY-NC-SA 4.0です。

2020-7-29 GitBookからOpenSource活動として承認されました!

2020-7-16 和訳Wikiが消失していたことから、からサルベージする事業を始めました。

で公開しています。

「Project Eulerは魅力的な数学の世界に興味を持つすべての人に技能と楽しみを与えることにより, 励まし, 挑戦を与え, 成長させるために存在します」

統計(Statistics)
http://forum.projecteuler.net
Contact
mathschallenge.net

About

001~010

メモ
  • digit と number の訳し分けが出来ていないところがある。

  • パンデジタル、などの用語の説明をまとめて書くとよいかも。

  • 締めの言葉を統一したい。

  • オリジナルへのリンクを忘れた。

  • 何らかの問題が残っているページのタイトルには(*)が付けてある。

コントリビュート

PR welcome :)

  • GitBook v2 の使い方についてはGitBook の公式ドキュメントを参照

  • インラインの数式は $$...$$ というように囲む必要があるので注意

  • VSCODE などのエディタ内で GitBook の数式をプレビューしたい場合は Markdown Preview Enhanced がオススメ。settings.json に以下の内容を追記すると良い感じに表示されます。

https://projecteuler.net/
http://odz.sakura.ne.jp/projecteuler/
webarchive
https://project-euler-ja.gitbook.io/project-euler-ja/
  "markdown-preview-enhanced.mathInlineDelimiters": [
    [
      "$$",
      "$$"
    ]
  ],
  "markdown-preview-enhanced.mathBlockDelimiters": [
    [
      "$$\n",
      "$$"
    ]
  ],

011~020

026 : 逆数の循環節 その1

単位分数とは分子が1の分数である. 分母が2から10の単位分数を10進数で表記すると次のようになる.

1/2 = 0.5 1/3 = 0.(3) 1/4 = 0.25 1/5 = 0.2 1/6 = 0.1(6) 1/7 = 0.(142857) 1/8 = 0.125 1/9 = 0.(1) 1/10 = 0.1

0.1(6)は 0.166666... という数字であり, 1桁の循環節を持つ. 1/7 の循環節は6桁ある.

d < 1000 なる 1/d の中で小数部の循環節が最も長くなるような d を求めよ.

031~040

041~050

040 : チャンパーノウン定数(*)

正の整数を順に連結して得られる以下の10進の無理数を考える:

0.123456789101112131415161718192021...

(1文字おおきくして赤くする)

小数第12位は1である.

dnd_ndn​で小数第nnn位の数を表す. d1×d10×d100×d1000×d10000×d100000×d1000000d_1 × d_{10} × d_{100} × d_{1000} × d_{10000} × d_{100000} × d_{1000000}d1​×d10​×d100​×d1000​×d10000​×d100000​×d1000000​ を求めよ.

042 : 符号化三角数

三角数の第nnn項は tn=n(n+1)/2t_n = n(n+1)/2tn​=n(n+1)/2で与えられる. 最初の10項は

1,3,6,10,15,21,28,36,45,55,…1, 3, 6, 10, 15, 21, 28, 36, 45, 55, \dots1,3,6,10,15,21,28,36,45,55,…

である.

単語中のアルファベットを数値に変換した後に和をとる. この和を「単語の値」と呼ぶことにする. 例えば SKY は 19+11+25=55=t1019 + 11 + 25 = 55 = t_{10}19+11+25=55=t10​である. 単語の値が三角数であるとき, その単語を三角語と呼ぶ.

16Kのテキストファイル words.txt 中に約2000語の英単語が記されている. 三角語はいくつあるか?

051~060

award_27.png
award_01.png
award_02.png
award_03.png
award_04.png
award_05.png
award_06.png
award_07.png
award_11.png
award_12.png
award_15.png
award_16.png
award_17.png
award_18.png
award_19.png
award_21.png
award_22.png
award_23.png
award_24.png
award_25.png
award_26.png
award_28.png
award_29.png
award_31.png
award_32.png
award_33.png
award_34.png
award_41.png
award_42.png
award_43.png
award_51.png
award_52.png
award_91.png
award_92.png
award_93.png
award_94.png
award_95.png

071~080

078 : コインの分割

nnn枚のコインを異なった方法で山に分ける場合の数をp(n)p(n)p(n)と表す。例えば5枚のコインを山に分ける異なったやり方は7通りなのでp(5)=7p(5)=7p(5)=7となる。

OOOOO
OOOO O
OOO OO
OOO O O
OO OO O
OO O O O
O O O O O

p(n)p(n)p(n)が100万で割り切れるような最小のnnnを求めよ。

081~090

004 : 最大の回文積

左右どちらから読んでも同じ値になる数を回文数という。2桁の数の積で表される回文数のうち最大のものは 9009 = 91 × 99 である。

では、3桁の数の積で表される回文数の最大値を求めよ。

005 : 最小の倍数

2520 は 1 から 10 の数字の全ての整数で割り切れる数であり、そのような数の中では最小の値である。

では、1 から 20 までの整数全てで割り切れる数の中で最小の正の数はいくらになるか。

006 : 二乗和の差

最初の10個の自然数について、その二乗の和は

12+22+⋯+102=3851^2 + 2^2 + \dots + 10^2 = 38512+22+⋯+102=385

最初の10個の自然数について、その和の二乗は

(1+2+⋯+10)2=3025(1 + 2 + \dots + 10)^2 = 3025(1+2+⋯+10)2=3025

これらの数の差は 3025−385=26403025 - 385 = 26403025−385=2640 となる。

同様にして、最初の100個の自然数について二乗の和と和の二乗の差を求めよ。

001 : 3と5の倍数

10未満の自然数のうち、3もしくは5の倍数であるものは3, 5, 6, 9の4つであり、これらの合計は23である。

同じようにして、1000未満の3か5の倍数である数の合計を求めよ。

003 : 最大の素因数

13195の素因数は5, 7, 13, 29である。

600851475143 の素因数のうち最大のものを求めよ。

002 : 偶数のフィボナッチ数

フィボナッチ数列の項は前の2つの項の和である。最初の2項を1, 2とすれば、最初の10項は以下の通りである。

1,2,3,5,8,13,21,34,55,89,…1, 2, 3, 5, 8, 13, 21, 34, 55, 89, \dots1,2,3,5,8,13,21,34,55,89,…

数列の項の値が400万以下の、偶数値の項の総和を求めよ。

009 : 特別なピタゴラス数

ピタゴラス数(ピタゴラスの定理を満たす自然数)とは、 a<b<ca < b < ca<b<c で以下の式を満たす数の組である。

a2+b2=c2a^2 + b^2 = c^2a2+b2=c2

例えば 32+42=9+16=25=523^2 + 4^2 = 9 + 16 = 25 = 5^232+42=9+16=25=52 である。

a+b+c=1000a + b + c = 1000a+b+c=1000 となるピタゴラスの三つ組が一つだけ存在する。 これらの積 abcabcabc を答えよ。

007 : 10001番目の素数

素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。

10 001 番目の素数を求めよ。

010 : 素数の和

10以下の素数の和は 2+3+5+7=172 + 3 + 5 + 7 = 172+3+5+7=17 である。

200万以下の全ての素数の和を求めよ。

016 : 各位の数字の和

であり, 各位の数字の和は となる.

同様にして, の各位の数字の和を求めよ.

注: も各位の数字の和に関する問題です。解いていない方は解いてみてください。

011 : 格子内の最大の積(*)

の格子のうち, 斜めに並んだ4つの数字が赤くマークされている.

(7行めの26から右下に63,78,14を赤くしたい)

それらの数字の積は となる.

上の の格子のうち, 上下左右斜めのいずれかの方向で連続する4つの数字の積のうち最大のものはいくつか?

013 : 大きな数の足し算

以下の50桁の数字100個の合計の上から10桁を求めなさい。

215=327682^{15} = 32768215=32768
3+2+7+6+8=263 + 2 + 7 + 6 + 8 = 263+2+7+6+8=26
210002^{1000}21000
問題20

014 : 最長のコラッツ数列

正の整数に以下の式で繰り返し生成する数列を定義する.

n → n/2 (n が偶数)

n → 3n + 1 (n が奇数)

13からはじめるとこの数列は以下のようになる.

13→40→20→10→5→16→8→4→2→113 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 113→40→20→10→5→16→8→4→2→1

13から1まで10個の項になる. この数列はどのような数字からはじめても最終的には 1 になると考えられているが, まだそのことは証明されていない(コラッツ問題)

さて, 100万未満の数字の中でどの数字からはじめれば最長の数列を生成するか.

注意: 数列の途中で100万以上になってもよい

017 : 数字の文字数

1 から 5 までの数字を英単語で書けば one, two, three, four, five であり, 全部で 3+3+5+4+4=193 + 3 + 5 + 4 + 4 = 193+3+5+4+4=19 の文字が使われている.

では 1 から 1000 (one thousand) までの数字をすべて英単語で書けば, 全部で何文字になるか.

注: 空白文字やハイフンを数えないこと. 例えば, 342 (three hundred and forty-two) は 23 文字, 115 (one hundred and fifteen) は20文字と数える. なお, "and" を使用するのは英国の慣習.

021~030

20×2020 \times 2020×20
08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08
49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00
81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65
52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91
22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80
24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50
32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21
24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72
21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95
78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92
16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57
86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58
19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40
04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66
88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69
04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36
20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16
20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54
01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48
26×63×78×14=178869626 \times 63 \times 78 \times 14 = 178869626×63×78×14=1788696
20×2020 \times 2020×20

008 : 数字列中の最大の積

次の1000桁の数字のうち、隣接する4つの数字の総乗の中で最大となる値は9×9×8×9=58329 \times 9 \times 8 \times 9 = 58329×9×8×9=5832である。

73167176531330624919225119674426574742355349194934
96983520312774506326239578318016984801869478851843
85861560789112949495459501737958331952853208805511
12540698747158523863050715693290963295227443043557
66896648950445244523161731856403098711121722383113
62229893423380308135336276614282806444486645238749
30358907296290491560440772390713810515859307960866
70172427121883998797908792274921901699720888093776
65727333001053367881220235421809751254540594752243
52584907711670556013604839586446706324415722155397
53697817977846174064955149290862569321978468622482
83972241375657056057490261407972968652414535100474
82166370484403199890008895243450658541227588666881
16427171479924442928230863465674813919123162824586
17866458359124566529476545682848912883142607690042
24219022671055626321111109370544217506941658960408
07198403850962455444362981230987879927244284909188
84580156166097919133875499200524063689912560717606
05886116467109405077541002256983155200055935729725
71636269561882670428252483600823257530420752963450

この1000桁の数字から13個の連続する数字を取り出して、それらの総乗を計算する。では、それら総乗のうち最大となる値はいくらか。

例:6桁の数123789から5個の連続する数字を取り出す場合、 1×2×3×7×81 \times 2 \times 3 \times 7 \times 81×2×3×7×8と2×3×7×8×92 \times 3 \times 7 \times 8 \times 92×3×7×8×9の二通りとなり、後者の2×3×7×8×9=30242 \times 3 \times 7 \times 8 \times 9=30242×3×7×8×9=3024が最大の総乗となる。

018 : 最大経路の和 その1(**)

以下の三角形の頂点から下の行の隣接する数字を通って下まで移動するとき, その数値の和の最大値は23になる.

   3
  7 4
 2 4 6
8 5 9 3

(3,7,4,9という経路を赤くしめしたい)

この例では 3+7+4+9=233 + 7 + 4 + 9 = 233+7+4+9=23.

以下の三角形を頂点から下まで移動するとき, その最大の和を求めよ.

              75
             95 64
            17 47 82
           18 35 87 10
          20 04 82 47 65
         19 01 23 75 03 34
        88 02 77 73 07 63 67
       99 65 04 28 06 16 70 92
      41 41 26 56 83 40 80 70 33
     41 48 72 33 47 32 37 16 94 29
    53 71 44 65 25 43 91 52 97 51 14
   70 11 33 28 77 73 17 78 39 68 17 57
  91 71 52 38 17 14 91 43 58 50 27 29 48
 63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23

注: ここではたかだか 16384 通りのルートしかないので, すべてのパターンを試すこともできる. Problem 67 は同じ問題だが100行あるので, 総当りでは解けない. もっと賢い方法が必要である.

(他ページへのリンク)

37107287533902102798797998220837590246510135740250
46376937677490009712648124896970078050417018260538
74324986199524741059474233309513058123726617309629
91942213363574161572522430563301811072406154908250
23067588207539346171171980310421047513778063246676
89261670696623633820136378418383684178734361726757
28112879812849979408065481931592621691275889832738
44274228917432520321923589422876796487670272189318
47451445736001306439091167216856844588711603153276
70386486105843025439939619828917593665686757934951
62176457141856560629502157223196586755079324193331
64906352462741904929101432445813822663347944758178
92575867718337217661963751590579239728245598838407
58203565325359399008402633568948830189458628227828
80181199384826282014278194139940567587151170094390
35398664372827112653829987240784473053190104293586
86515506006295864861532075273371959191420517255829
71693888707715466499115593487603532921714970056938
54370070576826684624621495650076471787294438377604
53282654108756828443191190634694037855217779295145
36123272525000296071075082563815656710885258350721
45876576172410976447339110607218265236877223636045
17423706905851860660448207621209813287860733969412
81142660418086830619328460811191061556940512689692
51934325451728388641918047049293215058642563049483
62467221648435076201727918039944693004732956340691
15732444386908125794514089057706229429197107928209
55037687525678773091862540744969844508330393682126
18336384825330154686196124348767681297534375946515
80386287592878490201521685554828717201219257766954
78182833757993103614740356856449095527097864797581
16726320100436897842553539920931837441497806860984
48403098129077791799088218795327364475675590848030
87086987551392711854517078544161852424320693150332
59959406895756536782107074926966537676326235447210
69793950679652694742597709739166693763042633987085
41052684708299085211399427365734116182760315001271
65378607361501080857009149939512557028198746004375
35829035317434717326932123578154982629742552737307
94953759765105305946966067683156574377167401875275
88902802571733229619176668713819931811048770190271
25267680276078003013678680992525463401061632866526
36270218540497705585629946580636237993140746255962
24074486908231174977792365466257246923322810917141
91430288197103288597806669760892938638285025333403
34413065578016127815921815005561868836468420090470
23053081172816430487623791969842487255036638784583
11487696932154902810424020138335124462181441773470
63783299490636259666498587618221225225512486764533
67720186971698544312419572409913959008952310058822
95548255300263520781532296796249481641953868218774
76085327132285723110424803456124867697064507995236
37774242535411291684276865538926205024910326572967
23701913275725675285653248258265463092207058596522
29798860272258331913126375147341994889534765745501
18495701454879288984856827726077713721403798879715
38298203783031473527721580348144513491373226651381
34829543829199918180278916522431027392251122869539
40957953066405232632538044100059654939159879593635
29746152185502371307642255121183693803580388584903
41698116222072977186158236678424689157993532961922
62467957194401269043877107275048102390895523597457
23189706772547915061505504953922979530901129967519
86188088225875314529584099251203829009407770775672
11306739708304724483816533873502340845647058077308
82959174767140363198008187129011875491310547126581
97623331044818386269515456334926366572897563400500
42846280183517070527831839425882145521227251250327
55121603546981200581762165212827652751691296897789
32238195734329339946437501907836945765883352399886
75506164965184775180738168837861091527357929701337
62177842752192623401942399639168044983993173312731
32924185707147349566916674687634660915035914677504
99518671430235219628894890102423325116913619626622
73267460800591547471830798392868535206946944540724
76841822524674417161514036427982273348055556214818
97142617910342598647204516893989422179826088076852
87783646182799346313767754307809363333018982642090
10848802521674670883215120185883543223812876952786
71329612474782464538636993009049310363619763878039
62184073572399794223406235393808339651327408011116
66627891981488087797941876876144230030984490851411
60661826293682836764744779239180335110989069790714
85786944089552990653640447425576083659976645795096
66024396409905389607120198219976047599490197230297
64913982680032973156037120041377903785566085089252
16730939319872750275468906903707539413042652315011
94809377245048795150954100921645863754710598436791
78639167021187492431995700641917969777599028300699
15368713711936614952811305876380278410754449733078
40789923115535562561142322423255033685442488917353
44889911501440648020369068063960672322193204149535
41503128880339536053299340368006977710650566631954
81234880673210146739058568557934581403627822703280
82616570773948327592232845941706525094512325230608
22918802058777319719839450180888072429661980811197
77158542502016545090413245809786882778948721859617
72107838435069186155435662884062257473692284509516
20849603980134001723930671666823555245252804609722
53503534226472524250874054075591789781264330331690

015 : 格子経路

2×22×22×2 のマス目の左上からスタートした場合, 引き返しなしで右下にいくルートは 6 つある.

では, 20×2020×2020×20 のマス目ではいくつのルートがあるか.

019 : 日曜日の数え上げ

次の情報が与えられている.

  • 1900年1月1日は月曜日である.

  • 9月, 4月, 6月, 11月は30日まであり, 2月を除く他の月は31日まである.

  • 2月は28日まであるが, うるう年のときは29日である.

うるう年は西暦が4で割り切れる年に起こる. しかし, 西暦が400で割り切れず100で割り切れる年はうるう年でない.

20世紀(1901年1月1日から2000年12月31日)中に月の初めが日曜日になるのは何回あるか?

022 : 名前のスコア

5000個以上の名前が書かれている46Kのテキストファイルnames.txtを用いる. まずアルファベット順にソートせよ.

のち, 各名前についてアルファベットに値を割り振り, リスト中の出現順の数と掛け合わせることで, 名前のスコアを計算する.

たとえば, リストがアルファベット順にソートされているとすると, COLINはリストの938番目にある. またCOLINは 3 + 15 + 12 + 9 + 14 = 53 という値を持つ. よってCOLINは 938 × 53 = 49714 というスコアを持つ.

ファイル中の全名前のスコアの合計を求めよ.

020 : 各位の数字の和 2

n×(n−1)×...×3×2×1n × (n - 1) × ... × 3 × 2 × 1n×(n−1)×...×3×2×1 を n!n!n! と表す.

例えば, 10!=10×9×...×3×2×1=362880010! = 10 × 9 × ... × 3 × 2 × 1 = 362880010!=10×9×...×3×2×1=3628800 となる. この数の各桁の合計は 3+6+2+8+8+0+0=273 + 6 + 2 + 8 + 8 + 0 + 0 = 273+6+2+8+8+0+0=27 である.

では, 100!100!100! の各位の数字の和を求めよ.

注: 問題16も各位の数字の和に関する問題です。解いていない方は解いてみてください。

021 : 友愛数

d(n)d(n)d(n) を nnn の真の約数の和と定義する. (真の約数とは nnn 以外の約数のことである. ) もし, d(a)=bd(a) = bd(a)=b かつ d(b)=ad(b) = ad(b)=a (a≠bのとき)(a ≠ b のとき)(a=bのとき) を満たすとき, aaa と bbb は友愛数(親和数)であるという.

例えば, 220 の約数は 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 なので d(220)=284d(220) = 284d(220)=284 である. また, 284 の約数は 1, 2, 4, 71, 142 なので d(284)=220d(284) = 220d(284)=220 である.

それでは10000未満の友愛数の和を求めよ.

023 : 非過剰数和

完全数とは, その数の真の約数の和がそれ自身と一致する数のことである. たとえば, 28の真の約数の和は, 1+2+4+7+14=281 + 2 + 4 + 7 + 14 = 281+2+4+7+14=28 であるので, 28は完全数である.

真の約数の和がその数よりも少ないものを不足数といい, 真の約数の和がその数よりも大きいものを過剰数と呼ぶ.

12は, 1+2+3+4+6=161 + 2 + 3 + 4 + 6 = 161+2+3+4+6=16 となるので, 最小の過剰数である. よって2つの過剰数の和で書ける最少の数は24である. 数学的な解析により, 28123より大きい任意の整数は2つの過剰数の和で書けることが知られている. 2つの過剰数の和で表せない最大の数がこの上限よりも小さいことは分かっているのだが, この上限を減らすことが出来ていない.

2つの過剰数の和で書き表せない正の整数の総和を求めよ.

024 : 辞書式順列

順列とはモノの順番付きの並びのことである. たとえば, 3124は数 1, 2, 3, 4 の一つの順列である. すべての順列を数の大小でまたは辞書式に並べたものを辞書順と呼ぶ. 0と1と2の順列を辞書順に並べると

012 021 102 120 201 210

になる.

0,1,2,3,4,5,6,7,8,9からなる順列を辞書式に並べたときの100万番目はいくつか?

025 : 1000桁のフィボナッチ数

フィボナッチ数列は以下の漸化式で定義される:Fn=Fn−1+Fn−2F_n = F_{n-1} + F_{n-2}Fn​=Fn−1​+Fn−2​, ただし F1=1,F2=1F_1 = 1, F_2 = 1F1​=1,F2​=1.

最初の12項は以下である.

  • F1=1F_1 = 1F1​=1

  • F2=1F_2 = 1F2​=1

12番目の項, が3桁になる最初の項である.

1000桁になる最初の項の番号を答えよ.

027 : 二次式素数

オイラーは以下の二次式を考案している:

n2+n+41n^2 + n + 41n2+n+41

この式は, nnn を000から393939までの連続する整数としたときに40個の素数を生成する. しかし, n=40n = 40n=40 のとき 402+40+41=40(40+1)+4140^2 + 40 + 41 = 40(40 + 1) + 41402+40+41=40(40+1)+41 となり41で割り切れる. また, n=41n = 41n=41 のときは 412+41+4141^2 + 41 + 41412+41+41 であり明らかに41で割り切れる.

計算機を用いて, 二次式 n2−79n+1601n^2 - 79n + 1601n2−79n+1601 という式が発見できた. これは n=0n = 0n=0 から 797979 の連続する整数で80個の素数を生成する. 係数の積は, −79×1601-79 × 1601−79×1601 で −126479-126479−126479である.

さて, ∣a∣<1000,∣b∣<1000|a| < 1000, |b| < 1000∣a∣<1000,∣b∣<1000 として以下の二次式を考える (ここで ∣a∣|a|∣a∣ は絶対値): 例えば ∣11∣=11,∣−4∣=4|11| = 11, |-4| = 4∣11∣=11,∣−4∣=4である.

n2+an+bn^2 + an + bn2+an+b

から始めて連続する整数で素数を生成したときに最長の長さとなる上の二次式の, 係数 の積を答えよ.

028 : 螺旋状に並んだ数の対角線(**)

1から初めて右方向に進み時計回りに数字を増やしていき, 5×5の螺旋が以下のように生成される:

21

22

23

24

25

(表のかきかたと赤色文字)

両対角線上の数字の合計は101であることが確かめられる.

の螺旋を同じ方法で生成したとき, 対角線上の数字の和はいくつか?

030 : 各桁の5乗

驚くべきことに, 各桁を4乗した数の和が元の数と一致する数は3つしかない.

  • 1634=14+64+34+441634 = 1^4 + 6^4 + 3^4 + 4^41634=14+64+34+44

  • 8208=84+24+04+848208 = 8^4 + 2^4 + 0^4 + 8^48208=84+24+04+84

  • 9474=94+44+74+449474 = 9^4 + 4^4 + 7^4 + 4^49474=94+44+74+44

ただし, は含まないものとする. これらの数の和は である.

各桁を5乗した数の和が元の数と一致するような数の総和を求めよ.

F3=2F_3 = 2F3​=2
F4=3F_4 = 3F4​=3
F5=5F_5 = 5F5​=5
F6=8F_6 = 8F6​=8
F7=13F_7 = 13F7​=13
F8=21F_8 = 21F8​=21
F9=34F_9 = 34F9​=34
F10=55F_{10} = 55F10​=55
F11=89F_{11} = 89F11​=89
F12=144F_{12} = 144F12​=144
F12F_{12}F12​
n=0n = 0n=0
a,ba, ba,b

20

7

8

9

10

19

6

1

2

11

18

5

4

3

12

17

16

15

14

13

1001×10011001×10011001×1001
1=141=1^41=14
1634+8208+9474=193161634 + 8208 + 9474 = 193161634+8208+9474=19316

031 : 硬貨の和

イギリスでは硬貨はポンド£££とペンスpppがあり,一般的に流通している硬貨は以下の8種類である.

1p,2p,5p,10p,20p,50p,£1(100p),£2(200p)1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), £2 (200p)1p,2p,5p,10p,20p,50p,£1(100p),£2(200p).

以下の方法で£2を作ることが可能である.

1×£1+1×50p+2×20p+1×5p+1×2p+3×1p1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p1×£1+1×50p+2×20p+1×5p+1×2p+3×1p

これらの硬貨を使って£2£2£2を作る方法は何通りあるか?

032 : パンデジタル積

すべての桁に 111 から nnn が一度だけ使われているnnn桁の数をパンデジタル (pandigital) であるということにしよう: 例えば5桁の数 15234 は1から5のパンデジタルである.

7254 は面白い性質を持っている. 39×186=725439 × 186 = 725439×186=7254 と書け, 掛けられる数, 掛ける数, 積が1から9のパンデジタルとなる.

掛けられる数/掛ける数/積が1から9のパンデジタルとなるような積の総和を求めよ.

ヒント:いくつかの積は2通り以上の掛けられる数/掛ける数/積の組み合わせを持つが1回だけ数え上げよ.

035 : 巡回素数

197は巡回素数と呼ばれる. 桁を回転させたときに得られる数 197, 971, 719 が全て素数だからである.

100未満には巡回素数が13個ある: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, および97である.

100万未満の巡回素数はいくつあるか?

029 : 個別のべき乗

2≤a≤52 ≤ a ≤ 52≤a≤5 と 2≤b≤52 ≤ b ≤ 52≤b≤5について, aba^bab を全て考えてみよう:

  • 22=4,23=8,24=16,25=322^2=4, 2^3=8, 2^4=16, 2^5=3222=4,23=8,24=16,25=32

  • 32=9,33=27,34=81,35=2433^2=9, 3^3=27, 3^4=81, 3^5=24332=9,33=27,34=81,35=243

  • 42=16,43=64,44=256,45=10244^2=16, 4^3=64, 4^4=256, 4^5=102442=16,43=64,44=256,45=1024

これらを小さい順に並べ, 同じ数を除いたとすると, 15個の項を得る:

で同じことをしたときいくつの異なる項が存在するか?

52=25,53=125,54=625,55=31255^2=25, 5^3=125, 5^4=625, 5^5=312552=25,53=125,54=625,55=3125
4,8,9,16,25,27,32,64,81,125,243,256,625,1024,31254, 8, 9, 16, 25, 27, 32, 64, 81, 125, 243, 256, 625, 1024, 31254,8,9,16,25,27,32,64,81,125,243,256,625,1024,3125
2≤a≤100,2≤b≤1002 ≤ a ≤ 100, 2 ≤ b ≤ 1002≤a≤100,2≤b≤100

041 : パンデジタル素数

n桁パンデジタルであるとは, 1からnまでの数を各桁にちょうど1つずつ持つこととする.

例えば2143は4桁パンデジタル数であり, かつ素数である. n桁(この問題の定義では9桁以下)パンデジタルな素数の中で最大の数を答えよ.

036 : 二種類の基数による回文数

585=10010010012585 = 1001001001_2585=10010010012​ (2進) は10進でも2進でも回文数である.

100万未満で10進でも2進でも回文数になるような数の総和を求めよ.

(注: 先頭に0を含めて回文にすることは許されない.)

034 : 桁の階乗

145145145は面白い数である. 1!+4!+5!=1+24+120=1451! + 4! + 5! = 1 + 24 + 120 = 1451!+4!+5!=1+24+120=145となる.

各桁の数の階乗の和が自分自身と一致するような数の和を求めよ.

注: 1!=11! = 11!=1 と 2!=22! = 22!=2 は総和に含めてはならない.

033 : 桁消去分数(*)

49/9849/9849/98は面白い分数である.「分子と分母からそれぞれ999を取り除くと, 49/98=4/849/98 = 4/849/98=4/8 となり, 簡単な形にすることができる」と経験の浅い数学者が誤って思い込んでしまうかもしれないからである. (方法は正しくないが,49/9849/9849/98の場合にはたまたま正しい約分になってしまう.)

我々は 30/50=3/530/50 = 3/530/50=3/5 のようなタイプは自明な例だとする.

このような分数のうち, 1より小さく分子・分母がともに2桁の数になるような自明でないものは, 4個ある.

その4個の分数の積が約分された形で与えられたとき, 分母の値を答えよ.

(言葉が微妙)

037 : 切り詰め可能素数

3797は面白い性質を持っている. まずそれ自身が素数であり, 左から右に桁を除いたときに全て素数になっている (3797, 797, 97, 7). 同様に右から左に桁を除いたときも全て素数である (3797, 379, 37, 3).

右から切り詰めても左から切り詰めても素数になるような素数は11個しかない. 総和を求めよ.

注: 2, 3, 5, 7を切り詰め可能な素数とは考えない.

038 : パンデジタル倍数(*)

192 に 1, 2, 3 を掛けてみよう.

192 × 1 = 192 192 × 2 = 384 192 × 3 = 576

積を連結することで1から9のパンデジタル数 192384576 が得られる. 192384576 を 192 と (1,2,3) の連結積と呼ぶ.

(pediaへのリンク、ちょうど一回なら書くか?)

同じようにして, 9 を 1,2,3,4,5 と掛け連結することでパンデジタル数 918273645 が得られる. これは 9 と (1,2,3,4,5) との連結積である.

整数と (1,2,...,n)  (n>1)(1,2,...,n) \; (n > 1)(1,2,...,n)(n>1) との連結積として得られる9桁のパンデジタル数の中で最大のものはいくつか?

048 : 自身のべき乗(self powers)

次の級数の和は, 11+22+33+⋯+1010=104050713171^1 + 2^2 + 3^3 + \dots + 10^{10} = 1040507131711+22+33+⋯+1010=10405071317 である.

では, 11+22+33+⋯+100010001^1 + 2^2 + 3^3 + \dots + 1000^{1000}11+22+33+⋯+10001000 の最後の10桁を求めよ.

046 : もうひとつのゴールドバッハの予想

Christian Goldbachは全ての奇合成数は平方数の2倍と素数の和で表せると予想した.

9=7+2×129 = 7 + 2×1^29=7+2×12 15=7+2×2215 = 7 + 2×2^215=7+2×22 21=3+2×3221 = 3 + 2×3^221=3+2×32 25=7+2×3225 = 7 + 2×3^225=7+2×32 27=19+2×2227 = 19 + 2×2^227=19+2×22 33=31+2×1233 = 31 + 2×1^233=31+2×12

後に, この予想は誤りであることが分かった.

平方数の2倍と素数の和で表せない最小の奇合成数はいくつか?

047 : 異なる素因数

それぞれ2つの異なる素因数を持つ連続する2つの数が最初に現れるのは:

14=2×714 = 2 × 714=2×7 15=3×515 = 3 × 515=3×5

それぞれ3つの異なる素因数を持つ連続する3つの数が最初に現れるのは:

644=22×7×23644 = 2^2 × 7 × 23644=22×7×23 645=3×5×43645 = 3 × 5 × 43645=3×5×43 646=2×17×19646 = 2 × 17 × 19646=2×17×19

最初に現れるそれぞれ4つの異なる素因数を持つ連続する4つの数を求めよ. その最初の数はいくつか?

051 : 素数の桁置換

1の位が3である2桁の数9つを*3と記す。それらのうち、13, 23, 43, 53, 73, 83の6つは素数である。

56**3の第3桁と第4桁に同じ数字を当てはめる。この5桁の数は7つの素数をもつ最初の例である: 56003, 56113, 56333, 56443, 56663, 56773, 56993. よって, この族の最初の数である56003は, このような性質を持つ最小の素数である.

桁を同じ数で置き換えることで8つの素数が得られる最小の素数を求めよ. (注:連続した桁でなくても良い)

049 : 素数数列

公差3330の等差数列1487, 4817, 8147は次の2つの変わった性質を持つ.

  • (i)3つの項はそれぞれ素数である.

  • (ii)各項は他の項の置換で表される.

1, 2, 3桁の素数にはこのような性質を持った数列は存在しないが, 4桁の増加列にはもう1つ存在する.

それではこの数列の3つの項を連結した12桁の数を求めよ.

043 : 部分文字列被整除性

数1406357289は0から9のパンデジタル数である(0から9が1度ずつ現れるので)。この数は部分文字列が面白い性質を持っている。

d1d_1d1​を上位1桁目、d2d_2d2​を上位2桁目の数とし、以下順にdnd_ndn​を定義する。この記法を用いると次のことが分かる。

  • d2d3d4=406d_2d_3d_4=406d2​d3​d4​=406 は 2 で割り切れる

  • d3d4d5=063d_3d_4d_5=063d3​d4​d5​=063 は 3 で割り切れる

  • は 5 で割り切れる

  • は 7 で割り切れる

  • は 11 で割り切れる

  • は 13 で割り切れる

  • は 17 で割り切れる

このような性質をもつ0から9のパンデジタル数の総和を求めよ。

045 : 三角数, 五角数, 六角数

三角数, 五角数, 六角数は以下のように生成される.

三角数

1, 3, 6, 10, 15, ...

五角数

1, 5, 12, 22, 35, ...

六角数

であることが分かる.

次の三角数かつ五角数かつ六角数な数を求めよ.

d4d5d6=635d_4d_5d_6=635d4​d5​d6​=635
d5d6d7=357d_5d_6d_7=357d5​d6​d7​=357
d6d7d8=572d_6d_7d_8=572d6​d7​d8​=572
d7d8d9=728d_7d_8d_9=728d7​d8​d9​=728
d8d9d10=289d_8d_9d_{10}=289d8​d9​d10​=289

Hn=n(2n−1)H_n=n(2n-1)Hn​=n(2n−1)

1, 6, 15, 28, 45, ...

T285=P165=H143=40755T_{285} = P_{165} = H_{143} = 40755T285​=P165​=H143​=40755
Tn=n(n+1)/2T_n=n(n+1)/2Tn​=n(n+1)/2
Pn=n(3n−1)/2P_n=n(3n-1)/2Pn​=n(3n−1)/2

039 : 整数の直角三角形

辺の長さが {a,b,c}\{a,b,c\}{a,b,c} と整数の3つ組である直角三角形を考え, その周囲の長さを ppp とする. p=120p = 120p=120のときには3つの解が存在する:

{20,48,52},{24,45,51},{30,40,50}\{20,48,52\}, \{24,45,51\}, \{30,40,50\}{20,48,52},{24,45,51},{30,40,50}

p≤1000p ≤ 1000p≤1000 のとき解の数が最大になる ppp はいくつか?

012 : 高度整除三角数

三角数の数列は自然数の和で表わされ, 7番目の三角数は 1+2+3+4+5+6+7=281 + 2 + 3 + 4 + 5 + 6 + 7 = 281+2+3+4+5+6+7=28 である. 三角数の最初の10項は:

1,3,6,10,15,21,28,36,45,55,…1, 3, 6, 10, 15, 21, 28, 36, 45, 55, \dots1,3,6,10,15,21,28,36,45,55,…

となる.

最初の7項について, その約数を列挙すると, 以下のとおり.

1: 1 3: 1,3 6: 1,2,3,6 10: 1,2,5,10 15: 1,3,5,15 21: 1,3,7,21 28: 1,2,4,7,14,28

これから, 7番目の三角数である28は, 5個より多く約数をもつ最初の三角数であることが分かる.

では, 500個より多く約数をもつ最初の三角数はいくつか.

044 : 五角数

五角数は Pn=n(3n−1)/2P_n = n(3n-1)/2Pn​=n(3n−1)/2 で生成される. 最初の10項は

1,5,12,22,35,51,70,92,117,145,…1, 5, 12, 22, 35, 51, 70, 92, 117, 145, \dots1,5,12,22,35,51,70,92,117,145,…

である.

P4+P7=22+70=92=P8P_4 + P_7 = 22 + 70 = 92 = P_8P4​+P7​=22+70=92=P8​ である. しかし差 70−22=4870 - 22 = 4870−22=48 は五角数ではない.

五角数のペア PjP_jPj​ と PkP_kPk​ について, 差と和が五角数になるものを考える. 差を D=∣Pk−Pj∣D = |P_k - P_j|D=∣Pk​−Pj​∣ と書く. 差 DDD の最小値を求めよ.

053 : 組み合わせ選択

12345から3つ選ぶ選び方は10通りである.

123, 124, 125, 134, 135, 145, 234, 235, 245, 345.

組み合わせでは, 以下の記法を用いてこのことを表す: 5C3=10_5C_3 = 105​C3​=10.

一般に, r≤nr ≤ nr≤n について nCr=n!r!(n−r)!\displaystyle _nC_r = \frac{n!}{r!(n-r)!}n​Cr​=r!(n−r)!n!​ である. ここで, n!=n×(n−1)×...×3×2×1,0!=1n! = n×(n−1)×...×3×2×1, 0! = 1n!=n×(n−1)×...×3×2×1,0!=1 と階乗を定義する.

n=23n = 23n=23 になるまで, これらの値が100万を超えることはない: 23C10=1144066_{23}C_{10} = 114406623​C10​=1144066.

1≤n≤1001 ≤ n ≤ 1001≤n≤100 について, 100万を超える nCr_nC_rn​Cr​ は何通りあるか?

050 : 連続する素数の和

素数41は6つの連続する素数の和として表せる:

41=2+3+5+7+11+1341 = 2 + 3 + 5 + 7 + 11 + 1341=2+3+5+7+11+13

100未満の素数を連続する素数の和で表したときにこれが最長になる.

同様に, 連続する素数の和で1000未満の素数を表したときに最長になるのは953で21項を持つ.

100万未満の素数を連続する素数の和で表したときに最長になるのはどの素数か?

056 : もっとべき乗の数字和

Googol (1010010^{100}10100)は非常に大きな数である: 1の後に0が100個続く. 100100100^{100}100100は想像を絶する. 1の後に0が200回続く. その大きさにも関わらず, 両者とも数字和 ( 桁の和 ) は1である.

a,b<100a, b < 100a,b<100 について自然数 aba^bab を考える. 数字和の最大値を答えよ.

057 : 平方根の近似分数

2の平方根は無限に続く連分数で表すことができる.

2=1+12+12+12+…=1.414213…\displaystyle \sqrt{2} = 1 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \dots}}} = 1.414213\dots2​=1+2+2+2+…1​1​1​=1.414213…

最初の4回の繰り返しを展開すると以下が得られる.

1+12=32=1.51 + \frac{1}{2} = \frac{3}{2} = 1.51+21​=23​=1.5 1+12+12=75=1.41 + \frac{1}{2 + \frac{1}{2}} = \frac{7}{5} = 1.41+2+21​1​=57​=1.4 1+12+12+12=1712=1.41666…1 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2}}} = \frac{17}{12} = 1.41666\dots1+2+2+21​1​1​=1217​=1.41666… 1+12+12+12+12=4129=1.41379…1 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2}}}} = \frac{41}{29} = 1.41379\dots1+2+2+2+21​1​1​1​=2941​=1.41379…

次の3つの項は99/70,239/169,577/40899/70, 239/169, 577/40899/70,239/169,577/408である. 第8項は1393/9851393/9851393/985である. これは分子の桁数が分母の桁数を超える最初の例である.

最初の1000項を考えたとき, 分子の桁数が分母の桁数を超える項はいくつあるか?

052 : 置換倍数

125874を2倍すると251748となる. これは元の数125874と順番は違うがちょうど同じ数字からなる。

2x,3x,4x,5x,6x2x, 3x, 4x, 5x, 6x2x,3x,4x,5x,6x が xxx と同じ数字からなるような最小の正整数 xxx を求めよ.

054 : ポーカーハンド

カードゲームのポーカーでは, 手札は5枚のカードからなりランク付けされている. 役を低い方から高い方へ順に並べると以下である.

  • 役無し(ハイカード): 一番値が大きいカード

  • ワン・ペア: 同じ値のカードが2枚

  • ツー・ペア: 2つの異なる値のペア

  • スリーカード: 同じ値のカードが3枚

  • ストレート: 5枚の連続する値のカード

  • フラッシュ: 全てのカードが同じスート (注: スートとはダイヤ・ハート・クラブ・スペードというカードの絵柄のこと)

  • フルハウス: スリーカードとペア

  • フォーカード: 同じ値のカードが4枚

  • ストレートフラッシュ: ストレートかつフラッシュ

  • ロイヤルフラッシュ: 同じスートの10, J, Q, K, A

ここでカードの値は小さい方から2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K, Aである. (訳注:データ中で10は'T'と表される)

もし2人のプレイヤーが同じ役の場合には, 役を構成する中で値が最も大きいカードによってランクが決まる: 例えば, 8のペアは5のペアより強い (下の例1を見よ). それでも同じランクの場合には (例えば, 両者ともQのペアの場合), 一番値が大きいカードによってランクが決まる (下の例4を見よ). 一番値が大きいカードが同じ場合には, 次に値が大きいカードが比べれられ, 以下同様にランクを決定する.

例:

には1000個のランダムな手札の組が含まれている. 各行は10枚のカードからなる (スペースで区切られている): 最初の5枚がプレイヤー1の手札であり, 残りの5枚がプレイヤー2の手札である. 以下のことを仮定してよい

  • 全ての手札は正しい (使われない文字が出現しない. 同じカードは繰り返されない)

  • 各プレイヤーの手札は特に決まった順に並んでいるわけではない

  • 各勝負で勝敗は必ず決まる

1000回中プレイヤー1が勝つのは何回か? (訳注 : この問題においてA 2 3 4 5というストレートは考えなくてもよい)

055 : Lychrel数

47とその逆さ読みを足し合わせると47+74=12147 + 74 = 12147+74=121となり, 回文数になる.

全ての数が直ちに回文数になるわけではない. 349を考えよう,

  1. 349+943=1292349 + 943 = 1292349+943=1292,

  2. 1292+2921=42131292 + 2921 = 42131292+2921=4213

349は, 3回の操作を経て回文数になる.

まだ証明はされていないが, 196のようないくつかの数は回文数にならないと考えられている. 逆さ読みを足すという操作を経ても回文数にならないものをLychrel数と呼ぶ. 先のような数の理論的な性質により, またこの問題の目的のために, Lychrel数でないと証明されていない数はLychrel数だと仮定する.

更に, 10000未満の数については,常に以下のどちらか一方が成り立つと仮定してよい.

  1. 50回未満の操作で回文数になる

  2. まだ誰も回文数まで到達していない

実際, 10677が50回以上の操作を必要とする最初の数である: 4668731596684224866951378664 (53回の操作で28桁のこの回文数になる).

驚くべきことに, 回文数かつLychrel数であるものが存在する. 最初の数は4994である.

10000未満のLychrel数の個数を答えよ.

4213+3124=73374213 + 3124 = 73374213+3124=7337

3D 6D 7D TD QD ダイヤのフラッシュ

プレイヤー2

4

4D 6S 9H QH QC Qのペア, 9

3D 6D 7H QD QS Qのペア, 7

プレイヤー1

5

2H 2D 4C 4D 4S 4-2のフルハウス

3C 3D 3S 9S 9D 3-9のフルハウス

プレイヤー1

試合

プレイヤー1

プレイヤー2

勝者

1

5H 5C 6S 7S KD 5のペア

2C 3S 8S 8D TD 8のペア

プレイヤー2

2

5D 8C 9S JS AC 役無し, A

2C 5C 7D 8S QH 役無し, Q

プレイヤー1

3

poker.txt

2D 9C AS AH AC Aのスリーカード

060 : 素数ペア集合

素数3, 7, 109, 673は非凡な性質を持っている. 任意の2つの素数を任意の順で繋げると, また素数になっている. 例えば, 7と109を用いると, 7109と1097の両方が素数である. これら4つの素数の和は792である. これは, このような性質をもつ4つの素数の集合の和の中で最小である.

任意の2つの素数を繋げたときに別の素数が生成される, 5つの素数の集合の和の中で最小のものを求めよ.

058 : 螺旋素数(**)

1から始めて, 以下のように反時計回りに数字を並べていくと, 辺の長さが7の渦巻きが形成される.

37

36

35

34

33

32

31

38

17

16

15

(表の書き方、素数を赤くする)

面白いことに, 奇平方数が右下の対角線上に出現する. もっと面白いことには, 対角線上の13個の数字のうち, 8個が素数である. ここで割合は8/13 ≈ 62%である.

渦巻きに新しい層を付け加えよう. すると辺の長さが9の渦巻きが出来る. 以下, この操作を繰り返していく. 対角線上の素数の割合が10%未満に落ちる最初の辺の長さを求めよ.

063 : べき乗の桁の個数

5桁の数 は自然数を5乗した数である. 同様に9桁の数 も自然数を9乗した数である.

自然数を 乗して得られる 桁の正整数は何個あるか?

061 : 巡回図形数

三角数, 四角数, 五角数, 六角数, 七角数, 八角数は多角数であり, それぞれ以下の式で生成される.

064 : 奇数周期の平方根

平方根は連分数の形で表したときに周期的であり, 以下の形で書ける:

例えば, を考えよう.

となる.

この操作を続けていくと,

を得る.

操作を纏めると以下になる:

14

13

30

39

18

5

4

3

12

29

40

19

6

1

2

11

28

41

20

7

8

9

10

27

42

21

22

23

24

25

26

43

44

45

46

47

48

49

16807=7516807 = 7^516807=75
134217728=89134217728 = 8^9134217728=89
nnn
nnn

059 : XOR暗号解読

コンピュータの中では、文字にはそれぞれ一意のコードが割り当てられている。よく使われる標準としてASCII (American Standard Code for Information Interchange) がある。ASCIIでは、大文字のAは65、アスタリスク (*)は42, 小文字のkは107などと割り当てられている。

モダンな暗号化の方法として, テキストファイルの各バイトをASCIIに変換し, 秘密鍵から計算された値とXORを取るという手法がある. XOR関数の良い点は, 暗号化に用いたのと同じ暗号化鍵でXORを取ると平文を復号できる点である. 65 XOR 42 = 107であり, 107 XOR 42 = 65である.

破られない暗号化のためには, 鍵は平文と同じ長さのランダムなバイト列でなければならない. ユーザーは暗号文と暗号化鍵を別々の場所に保存する必要がある. また, もし一方が失われると, 暗号文を復号することは不可能になる.

悲しいかな, この手法はほとんどのユーザーにとって非現実的である. そこで, 鍵の変わりにパスワードを用いる手法が用いられる. パスワードが平文より短ければ (よくあることだが), パスワードは鍵として繰り返し用いられる. この手法では, 安全性を保つために十分長いパスワードを用いる必要があるが, 記憶するためにはある程度短くないといけない.

この問題での課題は簡単になっている. 暗号化鍵は3文字の小文字である. cipher1.txtは暗号化されたASCIIのコードを含んでいる. また, 平文はよく用いられる英単語を含んでいる. この暗号文を復号し, 平文のASCIIコードの和を求めよ.

061~070

1, 5, 12, 22, 35, ...

六角数

1, 6, 15, 28, 45, ...

七角数

1, 7, 18, 34, 55, ...

八角数

1, 8, 21, 40, 65, ...

3つの4桁の数の順番付きの集合 (8128, 2882, 8281) は以下の面白い性質を持つ.

  1. この集合は巡回的である. 最後の数も含めて, 各数の後半2桁は次の数の前半2桁と一致する

  2. それぞれ多角数である: 三角数 (P3,127=8128P_{3,127}=8128P3,127​=8128), 四角数 (P4,91=8281P_{4,91}=8281P4,91​=8281), 五角数 (P5,44=2882P_{5,44}=2882P5,44​=2882) がそれぞれ別の数字で集合に含まれている

  3. 4桁の数の組で上の2つの性質を持つのはこの組だけである.

三角数, 四角数, 五角数, 六角数, 七角数, 八角数が全て現れる6つの巡回する4桁の数からなる唯一の順序集合の和を求めよ.

三角数

P3,n=n(n+1)/2P_{3,n}=n(n+1)/2P3,n​=n(n+1)/2

1, 3, 6, 10, 15, ...

四角数

P4,n=n2P_{4,n}=n^2P4,n​=n2

1, 4, 9, 16, 25, ...

五角数

a0=4,123−4=23+47=1+23−37\displaystyle a_0 = 4, \frac{1}{\sqrt{23}-4} = \frac{\sqrt{23}+4}{7} = 1 + \frac{\sqrt{23}-3}{7}a0​=4,23​−41​=723​+4​=1+723​−3​

  • a1=1,723−3=7(23+3)14=3+23−32\displaystyle a_1 = 1, \frac{7}{\sqrt{23}-3} = \frac{7(\sqrt{23}+3)}{14} = 3 + \frac{\sqrt{23}-3}{2}a1​=1,23​−37​=147(23​+3)​=3+223​−3​

  • a2=3,223−3=2(23+3)14=1+23−47\displaystyle a_2 = 3, \frac{2}{\sqrt{23}-3} = \frac{2(\sqrt{23}+3)}{14} = 1 + \frac{\sqrt{23}-4}{7}a2​=3,23​−32​=142(23​+3)​=1+723​−4​

  • a3=1,723−4=7(23+47=8+(23−4)\displaystyle a_3 = 1, \frac{7}{\sqrt{23}-4} = \frac{7(\sqrt{23}+4}{7} = 8 + (\sqrt{23}-4)a3​=1,23​−47​=77(23​+4​=8+(23​−4)

  • a4=8,123−4=23+47=1+23−37\displaystyle a_4 = 8, \frac{1}{\sqrt{23}-4} = \frac{\sqrt{23}+4}{7} = 1 + \frac{\sqrt{23}-3}{7}a4​=8,23​−41​=723​+4​=1+723​−3​

  • a5=1,723−3=7(23+3)14=3+23−32\displaystyle a_5 = 1, \frac{7}{\sqrt{23}-3} = \frac{7(\sqrt{23}+3)}{14} = 3 + \frac{\sqrt{23}-3}{2}a5​=1,23​−37​=147(23​+3)​=3+223​−3​

  • a6=3,223−3=2(23+3)14=1+23−47\displaystyle a_6 = 3, \frac{2}{\sqrt{23}-3} = \frac{2(\sqrt{23}+3)}{14} = 1 + \frac{\sqrt{23}-4}{7}a6​=3,23​−32​=142(23​+3)​=1+723​−4​

  • a7=1,723−4=7(23+4)7=8+(23−4)\displaystyle a_7 = 1, \frac{7}{\sqrt{23}-4} = \frac{7(\sqrt{23}+4)}{7} = 8 + (\sqrt{23}-4)a7​=1,23​−47​=77(23​+4)​=8+(23​−4)

  • よって, この操作は繰り返しになることが分かる. 表記を簡潔にするために, 23=[4;(1,3,1,8)]\sqrt{23} = [4;(1,3,1,8)]23​=[4;(1,3,1,8)]と表す. (1,3,1,8)(1,3,1,8)(1,3,1,8)のブロックは無限に繰り返される項を表している.

    最初の10個の無理数である平方根を連分数で表すと以下になる.

    • 2=[1;(2)]\sqrt{2}=[1;(2)]2​=[1;(2)], 周期 1

    • 3=[1;(1,2)]\sqrt{3}=[1;(1,2)]3​=[1;(1,2)], 周期 2

    • 5=[2;(4)]\sqrt{5}=[2;(4)]5​=[2;(4)], 周期 1

    • 6=[2;(2,4)]\sqrt{6}=[2;(2,4)]6​=[2;(2,4)], 周期 2

    • , 周期 4

    • , 周期 2

    • , 周期 1

    • , 周期 2

    • , 周期 2

    • , 周期 5

    N≤13N ≤ 13N≤13で奇数の周期をもつ平方根は丁度4つある.

    N≤10000N ≤ 10000N≤10000 について奇数の周期をもつ平方根が何個あるか答えよ.

    N=a0+1a1+1a2+1a3+…\displaystyle \sqrt{N} = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a3 + \dots}}}N​=a0​+a1​+a2​+a3+…1​1​1​
    23\sqrt{23}23​
    23=4+23−4=4+1123−4=4+11+23−37\displaystyle \sqrt{23} = 4 + \sqrt{23} - 4 = 4 + \frac{1}{\frac{1}{\sqrt{23} - 4}} = 4 + \frac{1}{1 + \frac{\sqrt{23} - 3}{7}}23​=4+23​−4=4+23​−41​1​=4+1+723​−3​1​
    23=4+11+13+11+18+…\displaystyle \sqrt{23} = 4 + \frac{1}{1 + \frac{1}{3 + \frac{1}{1 + \frac{1}{8 + \dots}}}}23​=4+1+3+1+8+…1​1​1​1​
    7=[2;(1,1,1,4)]\sqrt{7}=[2;(1,1,1,4)]7​=[2;(1,1,1,4)]
    8=[2;(1,4)]\sqrt{8}=[2;(1,4)]8​=[2;(1,4)]
    10=[3;(6)]\sqrt{10}=[3;(6)]10​=[3;(6)]
    11=[3;(3,6)]\sqrt{11}=[3;(3,6)]11​=[3;(3,6)]
    12=[3;(2,6)]\sqrt{12}= [3;(2,6)]12​=[3;(2,6)]
    13=[3;(1,1,1,1,6)]\sqrt{13}=[3;(1,1,1,1,6)]13​=[3;(1,1,1,1,6)]
    P5,n=n(3n−1)/2P_{5,n}=n(3n-1)/2P5,n​=n(3n−1)/2
    P6,n=n(2n−1)P_{6,n}=n(2n-1)P6,n​=n(2n−1)
    P7,n=n(5n−3)/2P_{7,n}=n(5n-3)/2P7,n​=n(5n−3)/2
    P8,n=n(3n−2)P_{8,n}=n(3n-2)P8,n​=n(3n−2)

    062 : 立方数置換

    立方数 41063625  (3453)41063625 \; (345^3)41063625(3453)は, 桁の順番を入れ替えると2つの立方数になる: 56623104  (3843)56623104 \; (384^3)56623104(3843) と 66430125  (4053)66430125 \; (405^3)66430125(4053) である. 410636254106362541063625は, 立方数になるような桁の置換をちょうど3つもつ最小の立方数である.

    立方数になるような桁の置換をちょうど5つもつ最小の立方数を求めよ.

    071 : 順序分数 (*)

    nnnとdddを正の整数として, 分数n/dn/dn/dを考えよう.n<dn<dn<dかつgcd(n,d)=1\textrm{gcd}(n,d)=1gcd(n,d)=1のとき, 真既約分数と呼ぶ.

    (説明なくHCFだったが、ググるとgcdの別名らしいので。)

    d≤8d ≤ 8d≤8について既約分数を大きさ順に並べると, 以下を得る:

    1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8

    3/7のすぐ左の分数は2/5である.

    d≤1,000,000d ≤ 1,000,000d≤1,000,000について真既約分数を大きさ順に並べたとき, 3/7のすぐ左の分数の分子を求めよ.

    080 : 平方根の10進展開

    よく知られているように, 自然数の平方根が整数ではないならば, それは無理数である.

    そのような平方根の10進展開(decimal expansion)は繰り返しを持たない無限小数になる.

    2の平方根は, 1.41421356237309504880...,であり, その頭から100桁の数字を合計すると475になる.

    初めの100個の自然数の平方根のうち, 無理数について, それぞれの頭から100桁の数字を足した数の総和を求めよ.

    067 : 最大経路の和 その2(**)

    下図の三角形の頂点から下まで移動するとき, その数値の合計の最大値は23になる。

       3
      7 4
     2 4 6
    8 5 9 3

    (3,7,4,9を強調したい)

    この例では 3 + 7 + 4 + 9 = 23

    100行からなる三角形を持つ15Kのテキストファイル triangle.txt (右クリックして、『名前をつけてリンク先を保存』)の上から下までの最大合計を見つけよ。

    注:これは Problem 18のずっと難しいバージョンである。 全部で2992^{99}299通りの組み合わせがあるので、この問題を解くのに全ての経路を試すことは不可能である! 毎秒1兆(101210^{12}1012)本の経路を調べることができたとしても、全てを調べるには200億年以上かかるだろう。 この問題を解く効率的なアルゴリズムがある ;o)

    069 : トーティエント関数の最大値

    オイラーのトーティエント関数φ(n)φ(n)φ(n)(ファイ関数とも呼ばれる) とは,nnn未満の正の整数でnnnと互いに素なものの個数を表す. 例えば, 1, 2, 4, 5, 7, 8 は9未満で9と互いに素であるので,φ(9)=6φ(9) = 6φ(9)=6となる.

    互いに素な数

    2

    1

    1

    2

    3

    ではの最大値はであることがわかる.

    でが最大となる値を見つけよ.

    065 : e の近似分数

    2の平方根は無限連分数として書くことができる。

    この無限連分数をと表記することもできる。は2が際限なく繰り返されることを示す。同様にである。

    平方根の部分的な連分数の数列から良い有理近似が得られることが分かる.の近似分数について考えよう。

    従って,

    070 : トーティエント関数の置換

    オイラーのトーティエント関数(ファイ関数とも呼ばれる) とは,未満の正の整数でと互いに素なものの個数を表す. 例えば, 1, 2, 4, 5, 7, 8 は9未満で9と互いに素であるので,となる. 1 は全ての正の整数と互いに素であるとみなされる. よってである.

    面白いことに,であり, はを置換したものとなっている.

    でがを置換したものになっているもののうち,が最小となるを求めよ.

    066 : ディオファントス方程式(*)

    次の形式の, 2次のディオファントス方程式を考えよう:

    たとえばのとき, を最小にする解はである.

    が平方数のとき, 正整数のなかに解は存在しないと考えられる.

    に対してを最小にする解は次のようになる:

    072 : 分数の数え上げ

    とを正の整数として, 分数を考えよう. かつのとき, 真既約分数と呼ぶ.

    について真既約分数を大きさ順に並べると, 以下を得る:

    1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8

    この集合は21個の要素をもつことが分かる.

    について, 真既約分数の集合は何個の要素を持つか?

    075 : 1通りの整数直角三角形

    ある長さの鉄線を折り曲げて3辺の長さが整数の直角三角形を作るとき, その方法が1通りしかないような最短の鉄線の長さは12cmである. 他にも沢山の例が挙げられる.

    12 cm: (3,4,5) 24 cm: (6,8,10) 30 cm: (5,12,13) 36 cm: (9,12,15) 40 cm: (8,15,17) 48 cm: (12,16,20)

    それとは対照的に, ある長さの鉄線 (例えば20cm) は3辺の長さが整数の直角三角形に折り曲げることができない. また2つ以上の折り曲げ方があるものもある. 2つ以上ある例としては, 120cmの長さの鉄線を用いた場合で, 3通りの折り曲げ方がある.

    120 cm: (30,40,50), (20,48,52), (24,45,51)

    を鉄線の長さとする. 直角三角形を作るときに1通りの折り曲げ方しか存在しないようなの総数を答えよ.

    074 : 桁の階乗による連鎖

    145は各桁の階乗の和が145と自分自身に一致することで有名である.

    169の性質はあまり知られていない. これは169に戻る数の中で最長の列を成す. このように他の数を経て自分自身に戻るループは3つしか存在しない.

    どのような数からスタートしてもループに入ることが示せる.

    例を見てみよう.

    69から始めた場合, 列は5つの循環しない項を持つ. また100万未満の数から始めた場合最長の循環しない項は60個であることが知られている.

    100万未満の数から開始する列の中で, 60個の循環しない項を持つものはいくつあるか?

    068 : Magic 5-gon ring

    下に示す図のようなものを"magic" 3-gon ringという. これは1~6の数字を当てはめて, 各列の数字の和が9となっている. これを例として説明する.

    外側のノードのうち一番小さいものの付いた列(例では4,3,2)から時計回りに回ってそれぞれ列の数字を3つ連ねて説明する. 例えば例のものは4,3,2; 6,2,1; 5,1,3という組で説明することができる.

    1~6の数字を当てはめて, 各列の数字の和が等しくなるものは次の8通りある.

    1,2

    2

    1.5

    4

    1,3

    2

    2

    5

    1,2,3,4

    4

    1.25

    6

    1,5

    2

    3

    7

    1,2,3,4,5,6

    6

    1.1666...

    8

    1,3,5,7

    4

    2

    9

    1,2,4,5,7,8

    6

    1.5

    10

    1,3,7,9

    4

    2.5

    n≤10n ≤ 10n≤10
    n/φ(n)n/φ(n)n/φ(n)
    n=6n=6n=6
    n≤1,000,000n ≤ 1,000,000n≤1,000,000
    n/φ(n)n/φ(n)n/φ(n)
    nnn
    φ(n)φ(n)φ(n)
    n/φ(n)n/φ(n)n/φ(n)
    の近似分数からなる数列の最初の10項は:

    1,32,75,1712,4129,9970,239169,577408,1393985,33632378,…\displaystyle 1, \frac{3}{2}, \frac{7}{5}, \frac{17}{12}, \frac{41}{29}, \frac{99}{70}, \frac{239}{169}, \frac{577}{408}, \frac{1393}{985}, \frac{3363}{2378}, \dots1,23​,57​,1217​,2941​,7099​,169239​,408577​,9851393​,23783363​,…

    もっとも驚くべきことに, 数学的に重要な定数eeeは次のように表せて、 e=[2;1,2,1,1,4,1,1,6,1,…,1,2k,1,… ]e = [2; 1,2,1, 1,4,1, 1,6,1 , \dots , 1,2k,1, \dots]e=[2;1,2,1,1,4,1,1,6,1,…,1,2k,1,…]

    eee の近似分数からなる数列の最初の10項は:

    2,3,83,114,197,8732,10639,19371,1264465,1457536,…\displaystyle 2, 3, \frac{8}{3}, \frac{11}{4}, \frac{19}{7}, \frac{87}{32}, \frac{106}{39}, \frac{193}{71}, \frac{1264}{465}, \frac{1457}{536}, \dots2,3,38​,411​,719​,3287​,39106​,71193​,4651264​,5361457​,…

    第10項の近似分数の分子の桁を合計すると1+4+5+7=171+4+5+7=171+4+5+7=17である。

    eeeについての連分数である近似分数の第100項の分子の桁の合計を求めよ。

    2=1+12+12+12+12+…\displaystyle \sqrt{2} = 1 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \frac{1}{2 + \dots}}}}2​=1+2+2+2+2+…1​1​1​1​
    2=[1;(2)]\sqrt{2} = [1;(2)]2​=[1;(2)]
    (2)(2)(2)
    23=[4;(1,3,1,8)]\sqrt{23} = [4;(1,3,1,8)]23​=[4;(1,3,1,8)]
    2\sqrt{2}2​
    1+12=32\displaystyle 1 + \frac{1}{2} = \frac{3}{2}1+21​=23​
    1+12+12=75\displaystyle 1 + \frac{1}{2 + \frac{1}{2}} = \frac{7}{5}1+2+21​1​=57​
    1+12+12+12=1712\displaystyle 1 + \frac{1}{2 + \frac{1}{2+\frac{1}{2}}} = \frac{17}{12}1+2+2+21​1​1​=1217​
    1+12+12+12+12=4129\displaystyle 1 + \frac{1}{2 + \frac{1}{2+\frac{1}{2 + \frac{1}{2}}}} = \frac{41}{29}1+2+2+2+21​1​1​1​=2941​
    2\sqrt{2}2​
    φ(n)φ(n)φ(n)
    nnn
    nnn
    φ(9)=6φ(9) = 6φ(9)=6
    φ(1)=1φ(1) = 1φ(1)=1
    φ(87109)=79180φ(87109)=79180φ(87109)=79180
    871098710987109
    791807918079180
    1<n<1071 < n < 10^71<n<107
    φ(n)φ(n)φ(n)
    nnn
    n/φ(n)n/φ(n)n/φ(n)
    nnn

    22−3×12=12^2 - 3×1^2 = 122−3×12=1

  • 92−5×42=19^2 - 5×4^2 = 192−5×42=1(9を強調したい)

  • 52−6×22=15^2 - 6×2^2 = 152−6×22=1

  • 82−7×32=18^2 - 7×3^2 = 182−7×32=1

  • したがって,D≤7D ≤ 7D≤7に対してxxxを最小にする解を考えると,D=5D=5D=5のときxxxは最大である.

    D≤1000D ≤ 1000D≤1000に対するxxxを最小にする解で,xxxが最大になるようなDDDの値を見つけよ.

    x2−Dy2=1x^2 - Dy^2 = 1x2−Dy2=1
    D=13D=13D=13
    xxx
    6492−13×1802=1649^2 - 13×180^2 = 16492−13×1802=1
    DDD
    D={2,3,5,6,7}D = \{2, 3, 5, 6, 7\}D={2,3,5,6,7}
    xxx
    32−2×22=13^2 - 2×2^2 = 132−2×22=1
    nnn
    ddd
    n/dn/dn/d
    n<dn<dn<d
    gcd(n,d)=1\textrm{gcd}(n,d)=1gcd(n,d)=1
    d≤8d ≤ 8d≤8
    d≤1,000,000d ≤ 1,000,000d≤1,000,000
    LLL
    L≤1,500,000L ≤ 1,500,000L≤1,500,000
    1!+4!+5!=1+24+120=1451! + 4! + 5! = 1 + 24 + 120 = 1451!+4!+5!=1+24+120=145
    169→363601→1454→169169 → 363601 → 1454 → 169169→363601→1454→169
    871→45361→871871 → 45361 → 871871→45361→871
    872→45362→872872 → 45362 → 872872→45362→872
    69→363600→1454→169→363601(→1454)69 → 363600 → 1454 → 169 → 363601 (→ 1454)69→363600→1454→169→363601(→1454)
    78→45360→871→45361(→871)78 → 45360 → 871 → 45361 (→ 871)78→45360→871→45361(→871)
    540→145(→145)540 → 145 (→ 145)540→145(→145)

    077 : 素数の和

    10は素数の和として5通りに表すことができる:

    7 + 3 5 + 5 5 + 3 + 2 3 + 3 + 2 + 2 2 + 2 + 2 + 2 + 2

    素数の和としての表し方が5000通り以上になる最初の数を求めよ.

    076 : 和の数え上げ

    5は数の和として6通りに書くことができる:

    4 + 1 3 + 2 3 + 1 + 1 2 + 2 + 1 2 + 1 + 1 + 1 1 + 1 + 1 + 1 + 1

    2つ以上の正整数の和としての100の表し方は何通りか.

    10

    2,3,5; 4,5,1; 6,1,3

    10

    2,5,3; 6,3,1; 4,1,5

    11

    1,4,6; 3,6,2; 5,2,4

    11

    1,6,4; 5,4,2; 3,2,6

    12

    1,5,6; 2,6,4; 3,4,5

    12

    1,6,5; 3,5,4; 2,4,6

    この組の各数字を連結して, 9桁の数字で表すことができる. 例えば, 上の図のものは4,3,2; 6,2,1; 5,1,3であるので432621513である.

    さて, 下の図に1~10の数字を当てはめ, 各列の数字の和が等しくなる"magic" 5-gon ringを作って, それを表す16桁または17桁の数字のうち, 16桁のものの最大の数字を答えよ.

    (注, 3つの場合の例を見ても分かる通り, 列の始まりの数字を比べた時一番小さい数字で始まる列から時計回りに繋げるという条件のもとで文字列を生成する必要があります. この条件下で最大となる数字を答えてください. )

    合計

    組

    9

    4,2,3; 5,3,1; 6,1,2

    9

    4,3,2; 6,2,1; 5,1,3

    073 : ある範囲内の分数の数え上げ

    とを正の整数として, 分数を考えよう. かつのとき, 真既約分数と呼ぶ.

    について既約分数を大きさ順に並べると, 以下を得る:

    1/8, 1/7, 1/6, 1/5, 1/4, 2/7, 1/3, 3/8, 2/5, 3/7, 1/2, 4/7, 3/5, 5/8, 2/3, 5/7, 3/4, 4/5, 5/6, 6/7, 7/8

    1/3と1/2の間には3つの分数が存在することが分かる.

    では,について真既約分数をソートした集合では, 1/3 と 1/2 の間に何個の分数があるか?

    079 : パスコードの導出

    オンラインバンクで通常使われるsecurity methodは, パスコードからランダムに選んだ3文字をユーザーに要求するものである.

    たとえば, パスコードが531278のとき, 2番目, 3番目, 5番目の文字を要求されるかもしれない. このとき, 期待される答えは: 317 である.

    テキストファイルには, ログインに成功した50回の試行が記録されている.

    3つの文字が常に順番通りに要求されるとするとき, ファイルを分析して, 可能なパスコードのなかでもっとも短いものを見つけよ.

    082 : 経路の和:3方向

    注: この問題はよりも挑戦しがいがあるだろう.

    下記の5次の正方行列で, 一番左の行の任意のセルから開始し一番右の行の任意のセルで終わる道を探索する. ただし上下右にのみ移動できるものとする. 一番小さなパスは下で赤の太字で示されたものである. このときの合計は994になる.

    084 : モノポリーの確率(*)

    (うだうだ長いので直すのつらい)

    モノポリーの標準的な盤面は以下である:

    081 : 経路の和:2方向(*)

    下記の5次の正方行列で, 左上のセルから開始し右下のセルで終わるパスを探索する. ただし下方向と右方向にのみ移動できるものとする. 通過したセルの和が最小となるパスは赤の太字で示されたもので, その値は2427である.

    nnn
    ddd
    n/dn/dn/d
    n<dn<dn<d
    gcd(n,d)=1\textrm{gcd}(n,d)=1gcd(n,d)=1
    d≤8d ≤ 8d≤8
    d≤12,000d ≤ 12,000d≤12,000
    keylog.txt

    630

    803

    746

    422

    111

    537

    699

    497

    121

    956

    805

    732

    524

    37

    331

    今, 31Kのテキストファイルmatrix.txtには80×80の行列が書かれている. 一番左の行から一番右の行へ移動する際の一番小さなパスの和を求めよ.

    131

    673

    234

    103

    18

    201

    96

    342

    965

    問題81

    150

    803

    746

    422

    111

    537

    699

    497

    121

    956

    805

    732

    524

    37

    331

    今, 31Kのテキストファイルmatrix.txt (右クリックして, 『名前をつけてリンク先を保存』)には80×80の行列が書かれている. 同様に左上のセルから開始し右下のセルで終わり, かつ右方向と下方向にのみ移動するときの最小のパスの和を求めよ.

    131

    673

    234

    103

    18

    201

    96

    342

    965

    150

    630

    H2

    C1

    T2

    U1

    H1

    C2

    CH3

    C3

    R4

    R2

    G3

    D1

    CC3

    CC2

    G2

    D2

    G1

    D3

    G2J

    F3

    U2

    F2

    F1

    R3

    E3

    E2

    CH2

    E1

    FP

    各プレイヤーはGOのマスから開始し, 2個の6面サイコロを用いて時計回りに進む. 他のルールが無いとすれば, 各マスに止まる確率は全て等しく, 2.5%である. しかし, G2J (Go To Jail), CC (Community Chest, 共同基金), CH (Chance, チャンス) のマスによってこの確率は変えられてしまう.

    G2Jに止まる, または, CCやCHのマスに止まると引くカードのうちそれぞれ1枚によって, プレイヤーはJAILのマスに飛ばされる. またプレイヤーが連続して3回ゾロ目を出すと, 3投目の結果のマスに進むのではなく, 直接JAILのマスに飛ばされる. (訳注: モノポリーではゾロ目が出るともう1回サイコロをふる. 6,6→2,1の場合は合計15マス進む. 4,4→2,2→1,2の場合は合計15マス進む. 3,3→4,4→2,2の場合は6マス目, 14マス目に止まったのちJAILに飛ばされる.)

    ゲーム開始前にCCカードとCHカードはシャッフルされる. プレイヤーがCCまたはCHマスに止まった場合, プレイヤーはCCカードまたはCHカードの山の一番上からカードを1枚引く. カードの指示に従ったのち, そのカードは山の一番下に戻される. それぞれのカードは16枚あるが, 今回は問題を進み方に限定するので, 移動の指示があるカードのみを考える. 移動の指示が無いカードに関しては何もせずカードをそのまま山の下に戻す. プレイヤーはそのままCC/CHマスに残るものとする.

    • Community Chest (16枚中2枚が移動カード)

      1. GOへ進め

      2. JAILへ進め

    • Chance (16枚中10枚が移動カード)

      1. GOへ進め

      2. JAILへ進め

      3. C1へ進め

      4. E3へ進め

    今回考えるのは, どのマスに止まりやすいかである. 即ち, サイコロを投げた後に止まる確率である. より正確には, サイコロを1回振ってカードやマスによる移動を終えた後に各マスに止まる確率を求めたい. 従って, G2Jに止まる確率は0であり, CHマスに止まる確率はその次に少ない(16枚中10枚が移動カードなので). またJAILマスにたまたま止まることとJAILマスに送られることを区別しない. またJAILマスから抜けるルール (自分のターンにゾロ目を2回出す) を無視する. つまり必ず保釈金を払ってJAILマスから進むものとする.

    GOマスを00とし番号を00-39と順番に振る. これにより各マスを2桁の数で表すことが出来る.

    統計的には, 3つのマスに止まりやすいことを示せる. JAIL (6.24%) = 10番目, E3 (3.18%) = 24番目, GO (3.09%) = 00番目である. 従ってもっとも止まりやすいマスを6桁で表せて102400となる.

    2つの6面サイコロではなくて, 2つの4面サイコロを用いた場合の, もっとも止まりやすいマスを6桁で表せ.

    (翻訳ヒント、サイコロを振りぞろ目だろうがでなかろうが止まったマス目の指示に従う。カードマスならカードを引く。これを繰り返す。繰り返す途中で三連続でぞろ目が出たら強制的に刑務所行き)

    GO

    A1

    CC1

    A2

    T1

    R1

    B1

    CH1

    B2

    B3

    JAIL

    083 : 経路の和:4方向

    注: この問題は問題81よりも非常に挑戦しがいがあるだろう.

    下記の5次の正方行列で, 上下左右に移動し左上のセルから開始し右下のセルで終了する道を探索する. 一番小さな道は下で赤で示されており, このときの合計は2297になる.

    131

    673

    234

    103

    18

    201

    96

    342

    965

    今, 31Kのテキストファイルには80×80の行列が書かれている. 上下左右に移動し左上のセルから開始し右下のセルで終了する道に沿った和の最小を求めよ.

    085 : 長方形の数え上げ

    注意深く数えると, 横が3, 縦が2の長方形の格子には, 18個の長方形が含まれている.

    ぴったり2,000,000個の長方形を含むような長方形の格子は存在しない. 一番近い解を持つような格子の面積を求めよ.

    H2へ進め
  • R1へ進め

  • 次のRへ進め (Rはrailway company, 鉄道会社の意)

  • 次のRへ進め

  • 次のUへ進め (Uはutility company, 公共事業会社の意)

  • 3マス戻れ

  • 150

    630

    803

    746

    422

    111

    537

    699

    497

    121

    956

    805

    732

    524

    37

    331

    matrix.txt