Dlaczego liczba 6174 jest tak interesująca? Zgodnie z definicją Wikipedii
- Weź dowolny czterocyfrowy numer, używając co najmniej dwóch różnych cyfr. (Zera wiodące są dozwolone.)
- Ułóż cyfry w kolejności rosnącej, a następnie malejącej, aby uzyskać dwie czterocyfrowe liczby, dodając w razie potrzeby zera na początku.
- Odejmij mniejszą liczbę od większej liczby.
- Wróć do kroku 2.
Powyższy proces, znany jako rutyna Kaprekara, zawsze osiągnie 6174 w maksymalnie 7 iteracjach. Po osiągnięciu 6174 proces będzie go nadal uzyskiwał.
Napisz program, który uruchamia procedurę Kaprekara względem podanej czterocyfrowej liczby (patrz definicja powyżej), wypisując każdy krok procedury.
Zasady:
- Zgłoszenia muszą być kompletnymi programami.
- Wejście należy odczytać ze standardowego wejścia. Przesyłanie z echa jest prawidłowe.
- Dane wejściowe powinny mieć postać liczbową.
- Wymagane jest wydrukowanie zer wiodących. (Zobacz przykłady poniżej.)
- W ostatnim wierszu należy podać, ile iteracji było potrzebnych. Wymagana jest interpunkcja.
Przykłady:
> 2607
7620 - 0267 = 7353
7533 - 3357 = 4176
7641 - 1467 = 6174
Iterations: 3.
> 1211
2111 - 1112 = 0999
9990 - 0999 = 8991
9981 - 1899 = 8082
8820 - 0288 = 8532
8532 - 2358 = 6174
Iterations: 5.
> 6174
7641 - 1467 = 6174
Iterations: 1.
Każdy język programowania jest mile widziany. Dodatkowe punkty dla ezoterycznych + mała nagroda.
Aktualizacja 1 : Istnieje już podobne pytanie .
Aktualizacja 2 : Dodano przykład dla 6174 jako danych wejściowych. Dzięki Peter Taylor za powiadomienie.