Project Euler 解説集
Project Eulerの解説をひたすら書き綴ります。
すべてに共通することがら
プログラムしたいときはPythonを使うと楽です。 オーバーフローの心配がないのが大きなメリットでしょうか。
最初の方もはや解答と感想になってるんですけどごめんなさい。
1 Multiples of 3 and 5
適当にプログラムしましょう。233168です。
2 Even Fibonacci numbers
適当にプログラムしましょう。4613732です。
3 Largest prime factor
適当にプログラムしましょう。6857です。
4 Largest palindrome product
問題名が575ですね。 適当にプログラムしましょう。906609です。
5 Smallest multiple
LCMを計算するだけです。適当にプログラムしましょう。 手計算でもできない量ではないです。 232792560です。
6 Sum square difference
適当にプログラムしましょう。25164150です。 知らんけどなんかエレガントな解法もありそうね
7 10001st prime
適当にプログラムしましょう。104743です。
8 Largest product in a series
適当にコピペしてプログラムしましょう。23514624000です。
9 Special Pythagorean triplet
プログラムで全探索で十分です。31875000です。
10 Summation of primes
適当にプログラムしましょう。142913828922です。
11 Largest product in a grid
ちょっとめんどくさいですけど適当にプログラムしましょう。70600674です。
12 Highly divisible triangular number
適当にプログラムしましょう。やったの昔だから忘れてるけどこれは微妙に時間かかりそう。 76576500です。
13 Large sum
適当にプログラムしましょう。こういうときPython強いです。 5537376230です。
14 Longest Collatz sequence
どうせ指数的収束だろうと思って適当にプログラムを書いてやるとできます。(たぶん) 837799です。
15 Lattice paths
かぞえあげお…ではないですね。 です。WolframAlphaにでも投げましょう。 137846528820です。
16 Power digit sum
プログラムしてやればよいです。1366です。
17 Number letter counts
やりたくね〜〜〜自然言語持ち出すなや ってなるけどちゃんと丁寧にやれば合います。 21124です。
18 Maximum path sum I
上からDPしてやればよいです。(完全に競技プログラミング用語) 1074です。
19 Counting Sundays
閏年だけ気をつければそんなに難しくないです。171です。
20 Factorial digit sum
Pythonで殴ってやって終了です。648です。
21 Amicable numbers
これも適当にプログラム書きましょう。楽です。 31626です。
22 Names scores
プログラム移植が楽です。(よかった) 871198282です。
23 Non-abundant sums
過剰数を適当なところまで列挙してやって試せばよいです。4179871です。
24 Lexicographic permutations
C++のstd::next_permutationみたいなもので回すのが一番楽でしょう。普通に計算してもできます。 2783915460です。
25 1000-digit Fibonacci number
Pythonでプログラムを書きましょう。4782です。
26 Reciprocal cycles
の約数ならよいです。(語彙力) 983です。
27 Quadratic primes
全探索します。-59231です。のときです。
28 Number spiral diagonals
ちょっと面倒ですがプログラムを書きましょう。平方数に注目すると楽に処理できます。 669171001です。
29 Distinct powers
プログラム書くだけです。9183です。
30 Digit fifth powers
ちょっと考えると高々6桁だとわかるので全探索できます。443839です。
31 Coin sums
DPをします。73682です。
32 Pandigital Products
C++ の std::next_permutation など、順列を全探索できると楽です。45228です。
33 Digit cancelling fractions
全探索するだけです。100です。
34 Digit factorials
145と40585のみです。40730です。
35 Circular primes
全探索しましょう。55です。
36 Double-base palindromes
全探索します。872187です。
37 Truncatable primes
全探索します。748317です。
38 Pandigital multiples
全探索します。932718654です。
39 Integer right triangles
全探索します。840です。ところで、直角三角形って right triangle なんですね。初めて知りました。
40 Champernowne's constant
プログラム書きます。210です。
41 Pandigital prime
全探索します。7652413です。
42以降
準備中