Số học
Mô tả
Tại một khu đô thị lớn, bộ phận nhân sự muốn tạo niềm vui cho cán bộ bằng cách xem mã nhân viên của từng người có phải là "số may mắn" hay không. Quý khách được phân công viết công cụ kiểm tra nhanh.
Một số nguyên dương được gọi là may mắn nếu ta lặp đi lặp lại quy tắc sau và cuối cùng đi tới số 1: lấy tổng bình phương từng chữ số của số hiện tại để được số kế tiếp. Ví dụ với 19: 1² + 9² = 82, tiếp tục 8² + 2² = 68, rồi 6² + 8² = 100, và 1² + 0² + 0² = 1 — vậy 19 là số may mắn.
Quan trọng: nếu quá trình không bao giờ tới 1 thì chắc chắn nó sẽ rơi vào chu trình 4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4, lúc đó mã không may mắn.
Đầu vào
- Một số nguyên dương
n(1 ≤ n ≤ 10^9), là mã nhân viên cần kiểm tra.
Đầu ra
- Trả về
truenếunlà số may mắn, ngược lại trả vềfalse.
Ràng buộc
- 1 ≤ n ≤ 10^9.
- Tổng bình phương các chữ số của bất kỳ số nào trong quá trình luôn nhỏ hơn 2^53, không lo tràn số trong mọi ngôn ngữ.
Ví dụ
Ví dụ 1:
- Đầu vào:
19 - Đầu ra:
true - Giải thích: 1² + 9² = 82 → 8² + 2² = 68 → 6² + 8² = 100 → 1² + 0² + 0² = 1. Đạt 1 nên may mắn.
Ví dụ 2:
- Đầu vào:
4 - Đầu ra:
false - Giải thích: 4 nằm trong chu trình 4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4, không bao giờ tới 1.