< Zpět na seznam úloh

B7 Rozklad na prvočísla

var names = ["cisla"]
var mainFunction = "main";
var datasets = [
  {arg: [2, 3], out: [2, 3]},
  {arg: [3278416], out: [2, 2, 2, 2, 17, 17, 709]},
]

Rozklad na prvočísla (nebo prvočinitele) je postup, kdy k zadanému číslu x hledáme seznam prvočísel tak, aby vynásobením všech čísel ze seznamu vyšlo zpátky to zadané x. Na pořadí prvočísel v seznamu nezáleží.

Někdo už na tom začal pracovat a vyrobil seznam čísel, která po vynásobení dávají dohromady správný výsledek, ale ještě to možná nejsou prvočísla. Váš program má tuhle práci dokončit, takže jako výsledek už musí dávat samá prvočísla.

Pokud program napíšete, ale nebude fungovat správně, zkuste ho stejnak odevzdat. Možná ho rovnou uznám, nebo vám poradím, co je potřeba opravit.

def main(cisla):
  prvocisla = []
  while cisla:
    cislo = cisla.pop()
    prvocisla.append(cislo)
  return prvocisla