Mô tả thử thách
Hãy lấy một số nguyên dương n
, đảo ngược các chữ số của nó để lấy rev(n)
và nhận giá trị tuyệt đối của hiệu của hai số này: |n - rev(n)|
(hoặc abs(n - rev(n))
).
Thí dụ:
n = 5067
rev(n) = 7605
|n - rev(n)| = |5067 - 7605| = |-2538| = 2538
Sau khi lặp lại thao tác này đủ nhiều lần, hầu hết các số sẽ trở thành 0
(do đó chấm dứt vòng lặp) ...
5067 -> 2538 -> 5814 -> 1629 -> 7632 -> 5265 -> 360 -> 297 -> 495 -> 99 -> 0
... mặc dù một số số (như 1584
) bị kẹt trong một vòng lặp vô hạn:
1584 -> 3267 -> 4356 -> 2178 -> 6534 -> 2178 -> 6534 -> 2178 -> 6534 -> ...
^ infinite loop starts here
Công việc của bạn là xác định xem một số nguyên đã cho có bị kẹt trong một vòng lặp vô hạn hay không.
Mô tả đầu vào
Một số nguyên dương.
Mô tả đầu ra
Giá trị trung thực ( True
, 1
) nếu số bị kẹt trong một vòng lặp vô hạn False
, 0
nếu không thì giá trị giả ( , ).
Ghi chú
- Số 0 triling nên được ommited. tức
rev(5020) = 205
. - Hãy nhớ rằng đây là môn đánh gôn , vì vậy hãy viết mã của bạn càng ngắn càng tốt!
- Trình tự liên quan: A072140