Otrzymujesz nonaralną (podstawową 9) nieujemną liczbę całkowitą składającą się z cyfr od 0 do 8, jak zwykle. Jednak liczba cyfr w tej liczbie (bez zer wiodących) jest kwadratem prefektury.
Z tego powodu liczba może być ułożona w kwadratową siatkę (z zachowaną kolejnością odczytu).
Przykład z 1480 (1125 podstawa 10):
14
80
Teraz niech każda cyfra na takiej niejednorodnej siatce wskazuje ruch do innej przestrzeni siatki (z okresowymi warunkami brzegowymi ):
432
501
678
To tak mówi
0 = stay still
1 = move right
2 = move right and up
3 = move up
...
8 = move right and down
Tak więc, jeśli na siatce 1480 zaczynasz od 4, następnie przesuwasz się w górę (pamiętaj PBC) i w lewo do 8, co oznacza, że przesuwasz się w prawo i w dół do 4, rozpoczynając cykl z okresem 2.
Ogólnie proces ten jest kontynuowany, aż dojdziesz do zera lub cykl zostanie zauważony. (Za 0 uważa się cykl z okresem 1.)
W przypadku 1480 okres ostatecznie osiągnięty dla każdej z 4 cyfr początkowych wynosi 2 2 2 1
odpowiednio.
W przypadku większej siatki liczby te mogą być większe niż 8, ale nadal możemy ich używać jako „cyfr” w nowej liczbie nonary (po prostu współczynniki 9 ^ n, jakby były cyframi):
2*9^3 + 2*9^2 + 2*9 + 1 = 1639 (base 10) = 2221 (base 9)
Nazwiemy to siłą oryginalnego numeru nonary. Zatem siła 1480 wynosi 1639 (podstawa 10) lub równoważnie 2221 (podstawa 9).
Wyzwanie
Napisz najkrótszy program, który mówi, czy siła liczby nonary jest większa niż, mniejsza niż lub równa samej liczbie nonary. (Nie musisz obliczać siły).
Dane wejściowe będą nieujemną liczbą nonaralną, która zawiera kwadratową liczbę cyfr (i żadnych zer wiodących poza specjalnym przypadkiem samego 0). Powinien pochodzić z wiersza poleceń lub standardowego wejścia.
Dane wyjściowe powinny przejść do standardowego wyjścia jako:
G if the strength is larger than the original number (example: 1480 -> strength = 2221)
E if the strength is equal to the original number (example: 1 -> strength = 1)
L if the strength is less than the original number (example: 5 -> strength = 1)
Zabawne wyzwanie bonusowe:
Jaki jest najwyższy możliwy wkład, który jest równy jego sile? (Czy istnieje limit?)