Skip to content

Instantly share code, notes, and snippets.

@dfuenzalida
dfuenzalida / core.clj
Created February 7, 2020 07:19
Solución en Clojure al Desafío de la Gran Capicuá (Programando.org)
(ns grancapicua.core)
(defn reverso [res n]
(if (zero? n)
res
(recur (+ (* 10 res) (rem n 10)) (quot n 10))))
(defn capicua? [n]
(= n (reverso 0 n)))
@dfuenzalida
dfuenzalida / part2.clj
Last active January 27, 2020 07:09
Solución Calculando Capicuas de Programando.org en Clojure
(ns capicuas.part2)
(defn reverso [res n]
(if (zero? n)
res
(recur (+' (* 10 res) (rem n 10)) (quot n 10))))
(defn not-palin? [n]
(not= n (reverso 0 n)))
@dfuenzalida
dfuenzalida / capicuas.py
Last active January 20, 2020 09:26
Desafio Capicuas en Python3
def reverso(n):
res = 0
while (n > 0):
res = (res * 10) + (n % 10)
n = n//10
return res
def palin(n):
return n == reverso(n)
@dfuenzalida
dfuenzalida / core.clj
Last active January 20, 2020 00:34
Desafio Capicuas de Programando.org en Clojure
(ns capicuas.core)
(defn reverso [res n]
(if (zero? n)
res
(recur (+ (* 10 res) (rem n 10)) (quot n 10))))
(defn palin? [n]
(= n (reverso 0 n)))
@dfuenzalida
dfuenzalida / compilation-output.txt
Created January 14, 2020 02:31
janet littleserver + json responses
denis@carbon:~/Projects/janet/littleserver$ janet -v
1.6.1-dev-0457966
denis@carbon:~/Projects/janet/littleserver$ jpm --verbose build
generating executable c source...
found native /usr/local/lib/janet/circlet.so...
found native /usr/local/lib/janet/json.so...
compiling and linking build/lserve...
cc -std=c99 -Wall -Wextra -I/usr/local/include/janet -O2 -o build/lserve build/lserve.c /usr/local/lib/janet/circlet.a /usr/local/lib/janet/json.a /usr/local/bin/../lib/libjanet.a -lm -ldl -lrt -lpthread
/usr/local/lib/janet/json.a(json.static.o): In function `_janet_mod_config':
@dfuenzalida
dfuenzalida / core.clj
Last active December 16, 2019 03:35
Desafío Primes Crypto
(ns programando.core)
(def primes [2 3 5 7 11 13 17 19 23 29])
(defn index-to-letter [i]
(char (+ i (int \a) -1)))
(defn factors [n fs ps]
(if (> n 1)
(let [p (first ps)]
@dfuenzalida
dfuenzalida / main.cljs
Last active December 9, 2019 05:36
Desafio 2018-12-08 en ClojureScript
(ns demo.main
(:import [goog.crypt Sha512]
[goog.string format])
(:require [goog.crypt]))
(defn sha-512 [s]
(let [digester (doto (goog.crypt.Sha512.) .reset (.update s))]
(->> (.digest digester) goog.crypt.byteArrayToHex)))
(defn four-digits [n]
@dfuenzalida
dfuenzalida / bruteforce.clj
Created December 7, 2019 00:01
SHA-512 bruteforce
(ns demo.bruteforce)
(defn sha-512 [s]
(let [digester (java.security.MessageDigest/getInstance "SHA-512")]
(->> (.digest digester (.getBytes s))
(map (partial format "%02x"))
(apply str))))
(def charset
(into [""] (map str "abcdefghijklmnopqrstuvwxyz")))
@dfuenzalida
dfuenzalida / mapsexample.clj
Created November 28, 2019 21:15
Example of creating maps from a list of items
(ns mapsexample.core)
;; Version 1:
;; Given a list of items, loop through them, adding one at a time with `assoc`.
(defn build-map-1 [items]
(loop [n 0 ;; index to loop through the items
my-map (hash-map)] ;; or just {} for an empty hash-map
(if (>= n (count items))
my-map
@dfuenzalida
dfuenzalida / unicode-anagrams.core.clj
Created June 25, 2019 05:05
Anagrams challenge for PF.tv 332
(ns unicode-anagrams.core
(:gen-class))
(defn normalize-string
"Normalize a string `s` before computing anagram information"
[s]
(-> s
.toUpperCase
(.replaceAll "\\s" "")))