Raku kurss / Padziļināti / Operatori / Metaoperatori / Exercises / Visi faktoriāli uzreiz
Risinājums: Visi faktoriāli uzreiz
Šeit ir iespējamais uzdevuma risinājums.
Kods
say [\*] 1..6;🦋 Programmas pirmkodu var atrast failā factorial.raku.
Izvade
(1 2 6 24 120 720)Komentāri
Atpakaļsvītra iekavās pārveido
[*]par trīsstūra redukciju. Tā vietā, lai samazinātu sarakstu līdz vienai vērtībai, tā saglabā katru daļējo reizinājumu:1, tad1*2, tad1*2*3un tā tālāk.Katrs daļējais reizinājums
1*2*...*kir tieši k!, tāpēc rezultāts ir faktoriālu saraksts no1līdz6. Parasta[*] 1..6būtu devusi tikai pēdējo no tiem,720.