
Untitled
By: a guest on
Mar 28th, 2012 | syntax:
Clojure | size: 1.03 KB | hits: 40 | expires: Never
; Esta es la forma correcta, 4 líneas :O
; http://www.bestinclass.dk/index.clj/2009/10/python-vs-clojure-evolving.html
(println (reduce +
(filter #(or (zero? (rem % 3))
(zero? (rem % 5)))
(range 1000))))
; Este es el camino por el que iba xD
(defn pair-test [test-fn n1 n2]
(if (test-fn n1 n2) "pass" "fail"))
(defn is_divisible [a b]
(if (= 0 (rem a b)) true false))
(defn is_even [n]
(if (= 0 (rem n 2)) true false))
; generar la lista de numeros del 1 al 1000
; filter de los que sean multiplos
; sumatoria total
(defn problem [n]
;(let [numbers (range 1 n)]) ; esto nunca funcionó
(reduce + 0
;(filter (#(if(= 0 (rem % 3)) true false)) (range n)))
(filter is_even (range n))))
;(filter (#(if(= 0 (rem % 3)) true false)) (range n))))
(println (is_divisible 5 2))
(println (is_even 6))
(println (problem 10))
;(println
;((fn [x] (* x x)) 3)
;(filter ((fn [x] (if (= 0 (rem x 2)) true false))) [1,2,3,4])
;)