-
-
Save ponkore/4493455 to your computer and use it in GitHub Desktop.
| (ns projecteuler.problem-25 | |
| (:require [clojure.string :as str] | |
| [clojure.math.numeric-tower :as math]) | |
| (:use clojure.test)) | |
| (defn fib-gen | |
| "ใใฃใใใใๆฐใ generate ใใ้ขๆฐใๅๆๅค[1 1]ใใ iterate ใใๅๆใ" | |
| [[a b]] [b (+' a b)]) | |
| (def fib-seq | |
| "ใใฃใใใใๆฐใจใใฎ้ ใ่ฟใใ" | |
| (->> (iterate fib-gen [1 1]) | |
| (map first) | |
| (map-indexed (fn [idx itm] [(inc idx) itm])))) | |
| (defn find-min-fibs | |
| "lower ไปฅไธใงๆๅฐใฎใใฃใใใใๆฐใจใใฎindexใ่ฟใใ" | |
| [lower] | |
| (first (drop-while #(<= (second %) lower) fib-seq))) | |
| (defn problem-25 | |
| "Project Euler Problem 25" | |
| ([] (problem-25 (math/expt 10 999))) | |
| ([lower] (first (find-min-fibs lower)))) | |
| ;;(time (problem-25)) | |
| ;;=> "Elapsed time: 5.387 msecs" | |
| ;; test | |
| (is (= (find-min-fibs 100) [12 144])) | |
| (is (= (problem-25 100) 12)) |
Problem2ใไปฅๅ่ฆใใใใณใกใณใใไผธใณใฆใ...ใใใฎ้ฑๆซใซใงใใฟใชใใใฎ่งฃ็ญใใใไธๅบฆใใใใใใฆใใใใใงใ(ใชใใชใ่ฟฝใใคใใชใใฎใงๅฐใฃใใใใงใ)ใ
ไปใฎๅ้กใใใชใไผธใณใฆใใใฎใง๏ผใใฒ๏ผใใไธๅบฆ่ฆใฆใณใกใณใใ่ฟฝๅ ใใฆใฟใฆใใ ใใ๏ผ
ใณใผใใซใใใฆใณใกใณใใใใจใใใฐใfib-seqใใใฃใใใใๆฐๅใฎ็ๆใจใใคใณใใฏใทใณใฐใใใฃใใใซใใฆใใใฎใซ้ๅๆใใใใพใใ ๅฅใซใใใปใใใใใใ ใจๆใใพใใ
ๅคๆฐใ้ขๆฐใฎๅฝๅใฏๅใใใใฆใๅคฑๆใใพใใ
googleใฎlispใฎใณใผใใฃใณใฐ่ฆ็ด ใซใใใใใซใใไธญ่บซ(content)ใงใฏใชใ็ฎ็(intent)ใซใใฃใฆๅฝๅใในใใใจใใใฎใฏ้ ญใซใใฃใฆใใคใ xxx-list ใจใใซใชใฃใฆใใพใใ
take-while ใซใใฆใ count ใใใฎใใใใใจๆใใพใใใ
(defn fibs [] (map first (iterate (fn [[x0 x1]] [x1 (+ x0 x1)])
[1N 1N])))
(defn solve [limit-exclusive]
(inc (count (take-while #(< % limit-exclusive) (fibs)))))
(solve (. (java.math.BigInteger. "10") pow 999))ใใฎๆนๆณใงใใใจใใคใณใใใฏในใใใญใฐใฉใ ใใใชใใใพใใ
+' ใฎๅญๅจใๅใใฆ็ฅใใพใใใๅๅผทใซใชใใพใใ
ypsilon-takai ใใ
- ใณใกใณใใใใใจใใใใใพใใ
fib-seqใฎไปถใ็ขบใใซใใฎ้ใใใใใใพใใใๅๅfib-seqใจไธญ่บซใไธ่ดใใฆใชใใใไฝ่จใซ้ๅๆใๅขใใฆใใๆใใงใใญใplaster ใใใฎใณใกใณใใซใใfibsใfib-seqใซใตใใใใใใใ - google ใฎ lisp ใณใผใใฃใณใฐ่ฆ็ดใใใฎๅผ็จใใใใใจใใใใใพใใๆฅๆฌ่ช่จณ ใฏ็พๅจ็ฟป่จณ้ฒ่กไธญใงใใไธๅฟใชใณใฏ่ฒผใฃใฆใใใพใ( ใฝใผใน )ใ
plaster ใใ
- ใณใกใณใใใใใจใใใใใพใใ
- ่งฃๆณใ็ฎใใใใใใงใใใใฃใใใใฆใใใงใใญใใใใใจใใใใใพใใ
@ponkore ใใ
ๆฅๆฌ่ช่จณใใฃใฆใใใงใใญใใใใใกใณใใผใใใฃใฆใใฃใใใใ githubใงใใฃใฆใใใงใใญใใ ใใใใใใใ ใชใใ ใพใ ่จณใใใฆใชใใฎใใใใพใใญใใ ใใฃใฆใฟใใใใชใใ
@plaster ใใ
ๅใใคใณใใใฏในใชใใใชใใใชใใจๆใฃใใใงใใใๅบใพใใใงใใใ ๆ่ใ็กฌ็ดใใฆใ่จผๆ ใงใใญใ ใใฟใใจใงใใ
ใใใใปใใฎใกใใณใฃใจใใ็ฟป่จณใใฆใใชใใใงใ...ๅใใใซใชใณใฏๅบใใฆใใพใฃใใฎใงใใใใชใใ ใ็ณใ่จณใชใ(ๆใงใใใใพใใใใพใ!!)ใ
tnoda ใใใkohyama ใใ