defmodule Khf3 do @moduledoc """ Ciklikus számlisták @author "Egyetemi Hallgató " @date "2024-10-04" ... """ @type count() :: integer() # számsorozatok száma, n (1 < n) @type cycle() :: integer() # számsorozat hossza, m (1 <= m) @type size() :: integer() # listahossz, len (1 < len) @type value() :: integer() # listaelem értéke, val (0 <= val <= m) @type index() :: integer() # listaelem sorszáma, ix (1 <= ix <= len) @type index_value() :: {index(), value()} # listaelem indexe és értéke @spec cyclists({n::count(), m::cycle(), len::size()}, constraints::[index_value()]) \ :: results::[[value()]] # results az összes olyan len hosszú lista listája, melyekben # * az 1-től m-ig tartó számsorozat – ebben a sorrendben, esetleg # közbeszúrt 0-kal – n-szer ismétlődik, # * len-n*m számú helyen 0-k vannak, # * a constraints korlát-listában felsorolt indexű cellákban a megadott # értékű elemek vannak. def cyclists({n, m, len}, constraints) do ... end end