Skip to content

Instantly share code, notes, and snippets.

View lnds's full-sized avatar

Eduardo Díaz lnds

View GitHub Profile
@lnds
lnds / tyf.hs
Created January 12, 2016 02:00
Toques y Famas calculados en Haskell
toques_y_famas [] _ _ = (0,0)
toques_y_famas (n:ns) (x:xs) ys
| n == x = (t,1+f)
| n `elem` ys = (t+1, f)
| otherwise = (t,f)
where (t,f) = (toques_y_famas ns xs ys)
@lnds
lnds / zipwithindex.scala
Last active January 11, 2016 21:53
For en Scala
for ((n,i) <- num.zipWithIndex; (m,j) <- sec.zipWithIndex)
yield if (n == m) if (i == j) 'F' else 'T'
@lnds
lnds / for.kt
Created January 11, 2016 21:50
Fors en kotlin
for (it in accion.withIndex()) {
if (!it.value.isDigit())
return null
if (it.index >= tam)
return null
}
for ((i,n) in num.withIndex())
for ((j,m) in sec.withIndex())
if (n == m) {
@lnds
lnds / enumerate.swift
Last active January 11, 2016 21:44
For con enumerate en swift
for (i,c) in chars.enumerate() {
if i >= tam {
return nil
} else if c < "0" || c > "9" {
return nil
} else {
let digito = Int(String(c))!
if num.contains(digito) {
return nil
}
@lnds
lnds / enumerate.rs
Last active January 11, 2016 21:43
For con enumerate en Rust
for (i,c) in accion.chars().enumerate() {
if !c.is_digit(10) { return Error }
else if i >= tam { return Error }
else {
let digito = c.to_digit(10).unwrap();
if num.contains(&digito) { return Error }
num.push(digito)
}
}
@lnds
lnds / for.go
Created January 11, 2016 21:38
For y range en Go
num := make([]int, 0, tam)
for i, c := range accion {
if !unicode.IsDigit(c) {
return nil
} else if i >= tam {
return nil
} else {
digit := int (c - '0')
for _, d := range num {
if digit == d { return nil }
@lnds
lnds / is_digit.erl
Created January 11, 2016 20:57
guards en Erlang
is_digit(C) when C >= $0, C=<$9 -> true;
is_digit(_) -> false.
@lnds
lnds / validar.erl
Created January 11, 2016 20:50
Validando en Erlang
Digitos = lists:all(fun (X) -> is_digit(X) end, Entrada),
if Digitos =:= true -> unicos(to_num(Entrada), Tam, Len) ;
Digitos =:= false -> [] end.
@lnds
lnds / validar2.clj
Created January 11, 2016 20:34
Validar expandido
(defn validar [tam num]
(if (and (every? #(Character/isDigit %) num))
(let [cuenta-unicos (count (distinct num))]
(and
(= tam cuenta-unicos)
(= (count num) cuenta-unicos)))))
(map #(Character/digit % 10) (seq num))
nil))
@lnds
lnds / validar.clj
Created January 11, 2016 20:27
Validar en clojure
(defn validar [tam num]
(if (and (solo-digitos num) (largo-esperado tam num))
(map #(Character/digit % 10) (seq num))
nil))