Project Euler

Problem 10

10以下の素数の和は2 + 3 + 5 + 7 = 17である. 200万以下の全ての素数の和を計算しなさい. Problem 10 - PukiWiki Ruby def get_primes(n) a = (2..n).to_a ret = [] begin b = a.shift ret << b a = a.reject{|i| i%b == 0 } end while b*b < n return ret+…

Problem 9

ピタゴラスの三つ組(ピタゴラスの定理を満たす整数)とはa a² + b² = c² を満たす数の組である.例えば, 3² + 4² = 9 + 16 = 25 = 5²である.a + b + c = 1000となるピタゴラスの三つ組が一つだけ存在する. このa,b,cの積を計算しなさい. Problem 9 - PukiWiki …

Problem 8

以下の1000桁の数字から5つの連続する数字を取り出してその積を計算する。そのような積の中で最大のものの値はいくらか73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501…

Problem 7

素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり、6番目の素数は 13 である。10001 番目の素数を求めよ。 Problem 7 - PukiWiki Ruby def prime?(n) (2..Math.sqrt(n)).each do |i| return FALSE if n%i == 0 end return TRUE end c = 0 k = 1 whi…

Problem 6

最初の10個の自然数について、その和の二乗と、二乗数の和は以下の通り。 1² + 2² + ... + 10² = 385 (1 + 2 + ... + 10)² = 3025これらの数の差は 3025 - 385 = 2640 となる。同様にして、最初の100個の自然数について和の二乗と二乗の和の差を求めよ。 Pro…

Problem 5

2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり、そのような数字の中では最小の値である。では、1 から 20 までの整数全てで割り切れる数字の中で最小の値はいくらになるか。 Problem 5 - PukiWiki 数学的素養が大変残念な感じなので最小公倍…

Problem 4

左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、最大のものは 9009 = 91 × 99 である。では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。 Problem 4 - PukiWiki まぁあれです、正直に言うと…

Problem 3

13195 の素因数は 5、7、13、29 である。600851475143 の素因数のうち最大のものを求めよ。 Problem 3 - PukiWiki Ruby a = 600851475143 x = [] while a != 1 do for i in 2..a do if a%i == 0 then x << i a = a/i break end end end puts x.max 何も考え…

Problem 2

フィボナッチ数列の項は前の2つの項の和である。最初の2項を 1, 2 とすれば、最初の10項は以下の通りである。 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...数列の項が400万を超えない範囲で、偶数の項の総和を求めよ。 Problem 2 - PukiWiki 問題の意味を理解す…

Problem 1

10未満の自然数のうち、3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり、これらの合計は 23 になる。同じようにして、1,000 未満の 3 か 5 の倍数になっている数字の合計を求めよ。 Problem 1 - PukiWiki awk版 今回だけawkで変数使うとどう…

Project Eulerやってみることにした。

何種類かの言語で書いてみたら面白いんじゃないかとか思って。まぁ数学的な問題を記述するのに向いている言語がわかるだけって気もしますが。どうせなら普段使ってない言語を片っ端から使ってみるか。 とりあえず普段使ってる言語としてRuby、あとはRとHaske…