よしたく blog

ほぼ週刊で記事を書いています

Project Euler

【Project Euler】Problem 20 Factorial digit sumをPythonで解く

この問題をPythonで解いた。 #20 Factorial digit sum - Project Euler 日本語の問題文はこちら n × (n - 1) × ... × 3 × 2 × 1 を n! と表す. 例えば, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 となる. この数の各桁の合計は 3 + 6 + 2 + 8 + 8 + 0 + 0 =…

【Project Euler】Problem 19 Counting SundaysをPythonで解く

この問題をPythonで解いた。 #19 Counting Sundays - Project Euler 日本語の問題文はこちら 次の情報が与えられている. 1900年1月1日は月曜日である. 9月, 4月, 6月, 11月は30日まであり, 2月を除く他の月は31日まである. 2月は28日まであるが, うるう年の…

【Project Euler】Problem 16 Power digit sumをPythonで解く

この問題をPythonで解いた。 #16 Power digit sum - Project Euler 日本語の問題文はこちら 215 = 32768 であり, 各位の数字の和は 3 + 2 + 7 + 6 + 8 = 26 となる. 同様にして, 21000 の各位の数字の和を求めよ. Problem 16 - PukiWiki sum(map(int, str(2*…

【Project Euler】Problem 15 Lattice pathsをPythonで解く

この問題をPythonで解いた。 #15 Lattice paths - Project Euler 日本語の問題文はこちら 2×2 のマス目の左上からスタートした場合, 引き返しなしで右下にいくルートは 6 つある. (画像省略) では, 20×20 のマス目ではいくつのルートがあるか. Problem 15 …

【Project Euler】Problem 13 Large sumをPythonで解く

この問題をPythonで解いた。 #13 Large sum - Project Euler 日本語の問題文はこちら 以下の50桁の数字100個の合計の上から10桁を求めなさい。 (数字は省略) Problem 13 - PukiWiki sample = '''37107287533902102798797998220837590246510135740250 46376…

【Project Euler】Problem 10 Summation of primesをPythonで解く

この問題をPythonで解いた。 #10 Summation of primes - Project Euler 日本語の問題文はこちら 10以下の素数の和は 2 + 3 + 5 + 7 = 17 である. 200万以下の全ての素数の和を求めよ. Problem 10 - PukiWiki from sympy import isprime result = 0 for num i…

【Project Euler】Problem 9 Special Pythagorean tripletをPythonで解く

この問題をPythonで解いた。 #9 Special Pythagorean triplet - Project Euler 日本語の問題文はこちら ピタゴラス数(ピタゴラスの定理を満たす自然数)とは a < b < c で以下の式を満たす数の組である. a2 + b2 = c2 例えば, 32 + 42 = 9 + 16 = 25 = 52 で…

【Project Euler】Problem 7 10001st primeをPythonで解く

この問題をPythonで解いた。 #7 10001st prime - Project Euler 日本語の問題文はこちら 素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり, 6番目の素数は 13 である. 10 001 番目の素数を求めよ. Problem 7 - PukiWiki import sympy print(sympy.p…

【Project Euler】Problem 8 Largest product in a seriesをPythonで解く

この問題をPythonで解いた。 #8 Largest product in a series - Project Euler 日本語の問題文はこちら 次の1000桁の数字のうち, 隣接する4つの数字の総乗の中で, 最大となる値は, 9 × 9 × 8 × 9 = 5832である. 7316717653133062491922511967442657474235534…

【Project Euler】Problem 6 Sum square differenceをPythonで解く

この問題をPythonで解いた。 #6 Sum square difference - Project Euler 日本語の問題文はこちら 最初の10個の自然数について, その二乗の和は, 12 + 22 + ... + 102 = 385 最初の10個の自然数について, その和の二乗は, (1 + 2 + ... + 10)2 = 3025 これら…

【Project Euler】Problem 5 Smallest multipleをPythonで解く

この問題をPythonで解いた。 #5 Smallest multiple - Project Euler 日本語の問題文はこちら 2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり, そのような数字の中では最小の値である. では, 1 から 20 までの整数全てで割り切れる数字の中で最…

【Project Euler】Problem 4 Largest palindrome productをPythonで解く

この問題をPythonで解いた。 #4 Largest palindrome product - Project Euler 日本語の問題文はこちら 左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. では, 3桁の数の積で…

【Project Euler】Problem 3 Largest prime factorをPythonで解く

この問題をPythonで解いた。 #3 Largest prime factor - Project Euler 日本語の問題文はこちら 13195 の素因数は 5, 7, 13, 29 である. 600851475143 の素因数のうち最大のものを求めよ. Problem 3 - PukiWiki N = 600851475143 i = 2 while i * i <= N: wh…

【Project Euler】Problem 2 Even Fibonacci numbersをPythonで解く

この問題をPythonで解いた。 #2 Even Fibonacci numbers - Project Euler 日本語の問題文はこちら フィボナッチ数列の項は前の2つの項の和である. 最初の2項を 1, 2 とすれば, 最初の10項は以下の通りである. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 数列の…

【Project Euler】Problem 1 Multiples of 3 or 5をPythonで解く

この問題をPythonで解いた。 #1 Multiples of 3 or 5 - Project Euler 日本語の問題文はこちら 10未満の自然数のうち, 3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり, これらの合計は 23 になる. 同じようにして, 1000 未満の 3 か 5 の倍…