2012年9月29日土曜日

ProjectEuler0003 on clojure


えっとおわりました

最初からある程度溶けそうだったんだけど

mod 6002156... 0とかしてて詰んでた

0で割ると例外起きるのにね!

Lingrのみんなで頭ひねってて

少し時間してからひらめいた

で、

(defn PMax [x] (/ x (first (filter (fn [y] (= (mod x y) 0)) (range 2 (/ x 2))))))

とかしてxに入れてやってみたんですけど これじゃとけない

素因数じゃなかったんですね

で、再起処理書いたんですがうまくいかないので

手動再起処理してやりましたwwwwwwwwww

まああんまり回数もしそうになかったんで

いか、前回と同じように貼りますね


; SLIME
user> (defn PMax [x] (/ x (first (filter (fn [y] (= (mod x y) 0)) (range 2 (/ x 2))))))
#'user/PMax
user> (PMax 256)
128
user> (PMax 1)

nil
user> (PMax 2)

nil
user> (defn PMax [x] (if (< x 3) (0) ((/ x (first (filter (fn [y] (= (mod x y) 0)) (range 2 (/ x 2))))))))
 (defn PMax [x] (if (< x 3) (0) ((/ x (first (filter (fn [y] (= (mod x y) 0)) (range 2 (/ x 2))))))))
#'user/PMax
user> (defn PMax [x] (if (< x 3) (0) ((/ x (first (filter (fn [y] (= (mod x y) 0)) (range 2 (/ x 2))))))))
#'user/PMax
user> (defn PSMax [x] (let [y (PMax x)] (if (= y 0) x (PSMax y))))
#'user/PSMax
user> (PSMax 600851475143)

nil
user> (PMax 600851475143)

nil
user> (defn PMax [x] (/ x (first (filter (fn [y] (= (mod x y) 0)) (range 2 (/ x 2))))))
#'user/PMax
user> (PMax 600851475143)
8462696833
user> (PMax 8462696833)
10086647
user> (PMax 10086647)
6857
user> (PMax 6857)


ここでエラーが出たので

よって答えは 6857です

あー眠w

寝ます!

おやすみ!

1 件のコメント:

  1. Play Free and real money at The Starcasino New Zealand
    This is one of my favourite 제왕카지노 things to do 카지노 on the casino floor with lots of online 메리트카지노 slots available on our website. If you're looking for a place to play a

    返信削除