Skip to content

Instantly share code, notes, and snippets.

View muratamuu's full-sized avatar

muratamuu muratamuu

View GitHub Profile
@muratamuu
muratamuu / eularProblem3_2.hs
Created May 8, 2014 17:01
Project Eularの Problem 3 のプログラム② (Haskell版)
-- Answer of Eular Problem 3 "Largest prime factor"
answer :: IO ()
answer = print $ largePrimeFactorOf 600851475143
largePrimeFactorOf :: Int -> Int
largePrimeFactorOf x = largePrimeFactorOf' x primes
largePrimeFactorOf' x primes@(p:ps)
| x == 1 = p
@muratamuu
muratamuu / eularProblem3.erl
Last active August 29, 2015 14:01
Probject Eularの Problem3のプログラム(Erlang版)
-module(eularProblem3).
-export([answer/0]).
%% Answer of Eular Problem 3 "Largest prime factor"
answer() -> largePrimeFactorOf(600851475143).
largePrimeFactorOf(X) -> largePrimeFactorOf(X, primes(numRange(2, math:sqrt(X)))).
largePrimeFactorOf(X, [P|PS]) ->
if X == 1 -> P;
@muratamuu
muratamuu / eularProblem3.clj
Last active August 29, 2015 14:01
Project Eularの Problem 3 のプログラム (Clojure版)
;; Answer of Eular Problem 3 "Largest prime factor"
(defn primes []
(letfn
[(primes [p ns]
(let [ns (filter #(not= (rem % p) 0) ns)]
(lazy-seq (cons p (primes (first ns) ns)))))]
(primes 2 (iterate inc 2))))
(defn largePrimeFactorOf [x]
@muratamuu
muratamuu / eularProblem3.hs
Last active August 29, 2015 14:00
Project Eularの Problem 3 のプログラム① (Haskell版)
-- Answer of Eular Problem 3 "Largest prime factor"
answer :: IO ()
answer = print $ largePrimeFactorOf 600851475143
largePrimeFactorOf :: Int -> Int
largePrimeFactorOf x = largePrimeFactorOf' x 0
largePrimeFactorOf' :: Int -> Int -> Int
largePrimeFactorOf' x primeidx =