คำอธิบายการท้าทาย
ลองใช้จำนวนเต็มบวกn
กลับตัวเลขเพื่อรับrev(n)
และรับค่าสัมบูรณ์ของผลต่างของตัวเลขสองตัวนี้: |n - rev(n)|
(หรือabs(n - rev(n))
)
ตัวอย่าง:
n = 5067
rev(n) = 7605
|n - rev(n)| = |5067 - 7605| = |-2538| = 2538
หลังจากทำซ้ำการดำเนินการนี้หลายครั้งเพียงพอตัวเลขส่วนใหญ่จะกลายเป็น0
(ดังนั้นการยกเลิกการวนซ้ำ) ...
5067 -> 2538 -> 5814 -> 1629 -> 7632 -> 5265 -> 360 -> 297 -> 495 -> 99 -> 0
... แม้ว่าตัวเลข (เช่น1584
) จะติดอยู่ในวงวนไม่สิ้นสุด:
1584 -> 3267 -> 4356 -> 2178 -> 6534 -> 2178 -> 6534 -> 2178 -> 6534 -> ...
^ infinite loop starts here
งานของคุณคือการตรวจสอบว่าจำนวนเต็มที่กำหนดติดอยู่ในวงวนไม่สิ้นสุด
คำอธิบายอินพุต
จำนวนเต็มบวก
คำอธิบายผลลัพธ์
ค่าความจริง ( True
, 1
) ถ้าตัวเลขติดอยู่ในการวนซ้ำไม่สิ้นสุดค่าเท็จ ( False
, 0
) มิฉะนั้น