숫자 6174가 왜 그렇게 흥미로운가요? Wikipedia에서 정의 한대로
- 최소한 두 개의 다른 숫자를 사용하여 4 자리 숫자를 사용하십시오. (리딩 제로가 허용됩니다.)
- 숫자를 오름차순으로 정렬 한 다음 내림차순으로 정렬하여 필요한 경우 앞에 0을 추가하여 두 자리 숫자를 얻습니다.
- 큰 숫자에서 작은 숫자를 뺍니다.
- 2 단계로 돌아가십시오.
Kaprekar의 루틴으로 알려진 위의 프로세스는 항상 최대 7 회 반복으로 6174에 도달합니다. 6174에 도달하면 프로세스에서 계속 생성합니다.
루틴의 각 단계를 인쇄하는 주어진 4 자리 숫자 (위 정의 참조)에 대해 Kaprekar의 루틴을 실행하는 프로그램을 작성하십시오.
규칙 :
- 제출은 완전한 프로그램이어야합니다.
- 표준 입력에서 입력을 읽어야합니다. 에코 에서 파이핑 이 가능합니다.
- 입력은 숫자 형식이어야합니다.
- 선행 0을 인쇄해야합니다. (아래 예 참조)
- 마지막 줄은 몇 번의 반복이 필요한지 말해야합니다. 문장 부호가 필요합니다.
예 :
> 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.
모든 프로그래밍 언어를 환영합니다. 난해한 사람 + 작은 현상금에 대한 추가 포인트.
업데이트 1 : 이미 비슷한 질문이 있습니다.
업데이트 2 : 6174에 대한 예제를 입력으로 추가했습니다. 통지 해 주신 Peter Taylor에게 감사드립니다.