graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

NSI 2023/2024 - Programowanie I

[L2] Łańcuchy liczb
Języki: c cpp
Limit czasu: 3.0 s
Limit pamięci: 32 MB
Limit rozmiaru rozwiązania: 60 kB

Problem
Mając daną liczbę, można utworzyć łańcuch stosując opisane dalej reguły:
1. ułożyć cyfry składające się na daną liczbę w kolejności malejącej
2. ułożyć cyfry składające się na daną liczbę w kolejności rosnącej
3. odjąć liczbę powstałą w (2) od liczby powstałej w (1) - w ten sposób otrzymujemy kolejną liczbę z łańcucha
4. powtarzać te kroki tak długo, aż dopóki nowo utworzona liczba nie będzie już występowała w łańcuchu
Ilość różnych liczb w łańcuchu jest jego długością.
Wejście:
Wejście składa się z liczb naturalnych, każdej w nowej linii. Każda z nich jest osobnym zestawem testowym. Ostatnia linia wejścia zawiera 0.
Wyjście:
Dla każdego zestawu testowego należy wypisać wyjście zgodnie z formatem przedstawionym w przykładowym wyjściu.
Uwaga: po wyjściu dla każdego zestawu danych (także ostatniego) powinna pojawić się pusta linia.
Przykładowe wejście:

123456789
1234
444
0

Przykładowe wyjście:
Original number was 123456789
987654321 - 123456789 = 864197532
987654321 - 123456789 = 864197532
Chain length 2
Original number was 1234 4321 - 1234 = 3087 8730 - 378 = 8352 8532 - 2358 = 6174 7641 - 1467 = 6174 Chain length 4
Original number was 444 444 - 444 = 0 0 - 0 = 0 Chain length 2

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