graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

1inf 2023/24 - Podstawy algorytmiki i programowania, LC*

[C] C. Czynniki i silnia
Data zakończenia: 2023-12-20 14:00
Języki: c cpp
Limit czasu: 3.0 s
Limit pamięci: 32 MB
Limit rozmiaru rozwiązania: 100 kB
Silnia liczby N (zapisywana N!) określana jest jako iloczyn wszystkich liczb od 1 do N. Częsty zapisuje się to też rekurencyjnie w następujący sposób:
1! = 1
N! = N * (N-1)!
Wartości silni rośną bardzo szybko - 5! = 120, 10! = 3628800. Jednym ze sposobów na zapisanie takich dużych liczb jest określenie, ile razy każda liczba pierwsza występuje w rozkładzie na czynniki pierwsze takiej liczby. Na przykład 825 może być zapisane jako (0 1 2 0 1) co oznacza zero dwójek, 1 trójkę, 2 piątki, brak siódemek i 1 jedenastkę.

Napisz program, który wczyta liczbę N (2<=N<=100) i wypiszę w zaproponowanej postaci silnię tej liczby.

Wejście

Wejście składa się z szeregu wierszy, każdy wiersz zawiera jedną liczbę całkowitą N. Wejście zostanie zakończone wierszem zawierającym liczbę 0.

Wyjście

Wyjście składać się będzie z serii jedno- lub dwuwierszowych bloków, jeden blok dla każdego wiersza wejścia. Każdy blok rozpocznie się liczby N, wyrównane do prawej stronie w polu o szerokości 3 i znaku "!". Dalej, po spacji, wystąpi znak `= ', i w końcu lista liczb opisujących wartość N!.

Liczby te powinny być wyrównane do prawej strony w polach o szerokości 3 znaki, każdy wiersz bloku (z wyjątkiem ostatniego, który może być krótszy) powinien zawierać piętnaście liczb. Wszelkie wiersze poza pierwszym powinny zawierać odpowiednie wcięcia. Patrz przykład.

Przykładowe wejście

5
53
0

Przykładowe wyjście

  5! = 3 1 1
 53! = 49 23 12 8 4 4 3 2 2 1 1 1 1 1 1
        1
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego