Sha256: bf6b7582ffd1c1afd317ec27a3dc992a3bc48d5439aa7d5eda6bd03638d7abbd
Contents?: true
Size: 891 Bytes
Versions: 327
Compression:
Stored size: 891 Bytes
Contents
defmodule Squares do @moduledoc """ Calculate sum of squares, square of sums, difference between two sums from 1 to a given end number. """ @doc """ Calculate sum of squares from 1 to a given end number. """ @spec sum_of_squares(pos_integer) :: pos_integer def sum_of_squares(number) do Enum.reduce(1..number, 0, fn(x, acc) -> acc + (x * x) end) end @doc """ Calculate square of sums from 1 to a given end number. """ @spec square_of_sums(pos_integer) :: pos_integer def square_of_sums(number) do sum_to_number = Enum.reduce(1..number, fn(x, acc) -> x + acc end) sum_to_number * sum_to_number end @doc """ Calculate difference between sum of squares and square of sums from 1 to a given end number. """ @spec difference(pos_integer) :: pos_integer def difference(number) do square_of_sums(number) - sum_of_squares(number) end end
Version data entries
327 entries across 327 versions & 1 rubygems