graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

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

[G] G. Odwrócić i dodać
Data zakończenia: 2023-12-13 16:00
Języki: c cpp
Limit czasu: 3.0 s
Limit pamięci: 32 MB
Limit rozmiaru rozwiązania: 100 kB
Problem
Metoda odwracania i dodawania jest prosta: wybierz liczbę, odwróć kolejność jej cyfr i dodaj otrzymaną liczbę do oryginału. Jeżeli suma nie jest palindromem, powtarzaj tę procedurę.

Na przykład:
195 wartość początkowa
591
-----
786
687
-----
1473
3741
-----
5214
4125
-----
9339 wynikowy palindrom

W tym konkretnym przypadku palindrom 9339 pojawił się po 4 dodawaniach. Metoda ta prowadzi do palindromu w kilku krokach dla prawie wszystkich liczb naturalnych. Ale są interesujące wyjątki. 196 to najmniejsza liczba, dla której żaden palindrom nie został znaleziony. Nie udowodniono jednak, że nie ma takiego palindromu.

Zadanie
Napisz program, który dla podanej liczby wyznacza palindrom i podaje liczbę powtórzeń (dodawań), jaka jest potrzebna, aby go obliczyć.

Można założyć, że wszystkie badane liczby spełniają warunki:
- sama nie jest palindromem,
- taki palindrom istnieje,
- można go wyznaczyć w co najwyżej 1000 kroków,
- otrzymana liczba nie przekracza 4294967295.
 
Wejście
Pierwszy wiersz zawiera liczbę przypadków testowych N, kolejne N wierszy zawiera po jednej liczbie, dla której należy wyznaczyć palindrom.

Wyjście
Dla każdego z N testów należy wypisać na ekranie minimalną liczbę powtórzeń (dodawań) potrzebną, aby wyznaczyć palindrom oraz wynikowy palindrom, oddzielone pojedynczą spacją.

Przykładowe wejście

3
195
265
750

Przykładowe wyjście

4 9339
5 45254
3 6666
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