ONLY DO WHAT ONLY YOU CAN DO

こけたら立ちなはれ 立ったら歩きなはれ

2013-01-01から1ヶ月間の記事一覧

Scala で Project Euler Problem 6

最初の10個の自然数について, その二乗の和は, 12 + 22 + ... + 102 = 385 最初の10個の自然数について, その和の二乗は, (1 + 2 + ... + 10)2 = 3025 これらの数の差は 3025 - 385 = 2640 となる. 同様にして, 最初の100個の自然数について二乗の和と和の二…

F# で Project Euler Problem 6

最初の10個の自然数について, その二乗の和は, 12 + 22 + ... + 102 = 385 最初の10個の自然数について, その和の二乗は, (1 + 2 + ... + 10)2 = 3025 これらの数の差は 3025 - 385 = 2640 となる. 同様にして, 最初の100個の自然数について二乗の和と和の二…

F# で Project Euler Problem 5

2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり, そのような数字の中では最小の値である. では, 1 から 20 までの整数全てで割り切れる数字の中で最小の正の数はいくらになるか. http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&pag…

Scala で Project Euler Problem 5

2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり, そのような数字の中では最小の値である. では, 1 から 20 までの整数全てで割り切れる数字の中で最小の正の数はいくらになるか. http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&pag…

F# で Project Euler Problem 4 その3

昨日の続き いげ太氏から、「Scala で言う flatMap 相当が、F# では collect として定義されていますので、List.collect id で平坦化できますよ。」 とコメントを頂いたので使ってみる。 > [1..9] - |> List.map(fun i -> [i..9] |> List.map(fun j -> (i, j…

F# で Project Euler Problem 4 その2

昨日の続き Scala のロジックを そのまま移植しようとしたが、F# には flatten が見当たらないので ごにょごにょしてみる... > [1..9] - |> List.map(fun i -> - [i..9] |> List.map(fun j -> (i, j)) - ) - ;; val it : (int * int) list list = [[(1, 1); …

F# で Project Euler Problem 4

左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. では, 3桁の数の積で表される回文数のうち最大のものを求めよ. http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&p…

Scala で Project Euler Problem 4 その2

前回のが、全然 Scala っぽくなかったので、再挑戦 scala> (1 to 9) res0: scala.collection.immutable.Range.Inclusive with scala.collection.immutable.Range.ByOne = Range(1, 2, 3, 4, 5, 6, 7, 8, 9) scala> scala> (1 to 9).map(i => (i to 9)) res1:…

Scala で Project Euler Problem 4

左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. では, 3桁の数の積で表される回文数のうち最大のものを求めよ. http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&p…

VBScript で Project Euler Problem 4

昨日の続き 4桁の回文は で、11の倍数だから、 9998979695949392919998019702960395049405930692079108900998 9604950694089310921291149016 97 94099312921591189021 96 921691209024 95 9025 94 93 92 91 Option Explicit Private loop_cnt: loop_cnt =…

VBScript で Project Euler Problem 4

左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. では, 3桁の数の積で表される回文数のうち最大のものを求めよ. http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&p…

F# で Project Euler Problem 3

> let rec factor_list (n, factor) = - if n < factor * factor then [n] - elif n % factor = 0 then factor::factor_list(n / factor, factor ) - else factor_list(n , factor + 1) - ;; val factor_list : int * int -> int list > factor_list(13195, …

Scala で Project Euler Problem 3

13195 の素因数は 5, 7, 13, 29 である. 600851475143 の素因数のうち最大のものを求めよ. http://odz.sakura.ne.jp/projecteuler/index.php?cmd=read&page=Problem%203The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor o…

F# で Project Euler Problem 2

> [1; 2; 3; 5; 8; 13; 21; 34; 55; 89; 144; 233; 377; 610; 987; 1597; 2584; 4181; 6765; 10946; 17711; 28657; 46368; 75025; 121393; 196418; 317811; 514229; 832040; 1346269; 2178309; 3524578] - ;; val it : int list = [1; 2; 3; 5; 8; 13; 21; 3…

Scala で Project Euler Problem 2

フィボナッチ数列の項は前の2つの項の和である. 最初の2項を 1, 2 とすれば, 最初の10項は以下の通りである. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 数列の項の値が400万を超えない範囲で, 偶数値の項の総和を求めよ. http://odz.sakura.ne.jp/projecteule…

VBScript で Project Euler Problem 2

フィボナッチ数列の項は前の2つの項の和である. 最初の2項を 1, 2 とすれば, 最初の10項は以下の通りである. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 数列の項の値が400万を超えない範囲で, 偶数値の項の総和を求めよ. http://odz.sakura.ne.jp/projecteule…