Más comentarios sobre ejemplos sencillos Elixir
Recientemente un compañero de trabajo me propuso calcular el menor número triangular que tenga más de 500 factores. (Ejercicio que apareció en project Euler ) Después de hacerlo en C++, quise probar en Elixir para ver que tal podría quedar y si sería tan divertido como esperaba. El algoritmo es trivial, pero trataba de buscar una solución elegante en un lenguaje tan expresivo. Esta es la solución. defmodule Triangle_factors do def find_triangle_more_n_f nfactors do [result] = Stream .unfold({ 1 , 1 }, fn {t, n} -> {t, {t+n+ 1 , n+ 1 }} end ) |> ( Stream .drop_while &(num_factors(& 1 ) <= nfactors)) |> Enum .take 1 end defp num_factors n do r2 = :erlang .trunc :math .sqrt n ( 1 ..r2 |> Enum .count fn(x) -> rem(n, x) === 0 end ) * 2 - ( if n===r2*r2, do: 1 , else: 0 ) end end NOTE Repito este programa para utilizarlo como...