Tại sao số 6174 lại thú vị như vậy? Theo định nghĩa của Wikipedia
- Lấy bất kỳ số có bốn chữ số, sử dụng ít nhất hai chữ số khác nhau. (Các số 0 đứng đầu được phép.)
- Sắp xếp các chữ số tăng dần và sau đó theo thứ tự giảm dần để có hai số có bốn chữ số, thêm các số 0 đứng đầu nếu cần.
- Trừ số nhỏ hơn từ số lớn hơn.
- Quay trở lại bước 2.
Quá trình trên, được gọi là thói quen của Kaprekar, sẽ luôn đạt 6174 trong tối đa 7 lần lặp. Sau khi đạt được 6174, quy trình sẽ tiếp tục mang lại kết quả.
Viết chương trình chạy thói quen của Kaprekar theo số có bốn chữ số nhất định (xem định nghĩa ở trên) in ra từng bước của thói quen.
Quy tắc:
- Đệ trình phải là chương trình hoàn chỉnh.
- Đầu vào phải được đọc từ đầu vào tiêu chuẩn. Đường ống từ tiếng vang là OK.
- Đầu vào phải ở dạng số.
- In ra các số không hàng đầu là bắt buộc. (Xem ví dụ bên dưới.)
- Dòng cuối cùng sẽ cho biết có bao nhiêu lần lặp lại là cần thiết. Dấu câu là bắt buộc.
Ví dụ:
> 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.
Bất kỳ ngôn ngữ lập trình đều được chào đón. Thêm điểm cho những người bí truyền + một tiền thưởng nhỏ.
Cập nhật 1 : Đã có một câu hỏi tương tự .
Cập nhật 2 : Đã thêm ví dụ cho 6174 làm đầu vào. Cảm ơn Peter Taylor đã thông báo.