Palindroliczby
Limit pamięci: 32 MB
Palindrom to tekst, który czytany wspak jest identyczny z samym sobą.
Np. teksty "ala" oraz "aa" są palindromami, zaś tekst "adam" - już nie.
Każdą liczbę całkowitą można zapisać w systemie pozycyjnym
o podstawie będącej dowolną liczbą całkowitą większą niż 1.
Zapis oznacza liczbę o kolejnych cyfrach
w zapisie pozycyjnym o podstawie .
Każda z tych cyfr musi mieć wtedy wartość nieujemną mniejszą niż .
Liczba ma wartość:
Na przykład liczba jest zapisana w systemie dziesiętnym
i ma wartość .
Natomiast liczba jest zapisana w systemie ósemkowym i ma wartość
.
Palindroliczbą nazwiemy liczbę, która zapisana w pewnym systemie pozycyjnym
jest palindromem.
Twoim zadaniem jest napisanie programu, który dla danej liczby sprawdzi, w jakich
systemach pozycyjnych o podstawie ze zbioru
jest ona palindroliczbą.
Wejście
Pierwszy i jedyny wiersz standardowego wejścia zawiera jedną liczbę całkowitą
().
Możesz założyć, że w testach wartych 40% punktów liczba jest
mniejsza niż .
Wyjście
Jeżeli nie jest palindroliczbą przy żadnej z podstaw ,
to na standardowym wyjściu należy wypisać jedno słowo "NIE"
(bez cudzysłowu).
W przeciwnym przypadku Twój program powinien dla każdej podstawy ze zbioru
, przy której jest palindroliczbą, wypisać na wyjściu
jeden wiersz, zawierający dwie liczby całkowite oraz oddzielone pojedynczym
odstępem, gdzie:
- jest podstawą systemu pozycyjnego zapisaną dziesiętnie,
- jest liczbą zapisaną w systemie pozycyjnym o podstawie
(już bez dolnego indeksu oznaczającego podstawę zapisu).
Wiersze te powinny być posortowane zgodnie z rosnącą wartością
.
Przykład
Dla danych wejściowych:
15
poprawną odpowiedzią jest:
2 1111
4 33
Wyjaśnienie do przykładu: .
Autor zadania: Marian M. Kędzierski.