全てのページ
GitBook提供
1 / 11

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

051~060

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というストレートは考えなくてもよい)

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

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

について自然数 を考える. 数字和の最大値を答えよ.

052 : 置換倍数

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

が と同じ数字からなるような最小の正整数 を求めよ.

055 : Lychrel数

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

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

  1. ,

057 : 平方根の近似分数

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

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

次の3つの項はである. 第8項はである. これは分子の桁数が分母の桁数を超える最初の例である.

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

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文字の小文字である. は暗号化されたASCIIのコードを含んでいる. また, 平文はよく用いられる英単語を含んでいる. この暗号文を復号し, 平文のASCIIコードの和を求めよ.

1010010^{100}10100
100100100^{100}100100
a,b<100a, b < 100a,b<100
aba^bab
2x,3x,4x,5x,6x2x, 3x, 4x, 5x, 6x2x,3x,4x,5x,6x
xxx
xxx
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…
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…
99/70,239/169,577/40899/70, 239/169, 577/40899/70,239/169,577/408
1393/9851393/9851393/985
cipher1.txt

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つの素数が得られる最小の素数を求めよ. (注:連続した桁でなくても良い)

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​ は何通りあるか?

060 : 素数ペア集合

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

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

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のスリーカード

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

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

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

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

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

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

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

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

47+74=12147 + 74 = 12147+74=121
349+943=1292349 + 943 = 1292349+943=1292
1292+2921=42131292 + 2921 = 42131292+2921=4213
4213+3124=73374213 + 3124 = 73374213+3124=7337

058 : 螺旋素数(**)

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

37

36

35

34

33

32

31

38

17

16

15

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

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

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

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