[Beginner Free Contest 38] HAPPYNUM
Xem dạng PDFSố vui vẻ được định nghĩa như sau:
Xuất phát từ một số nguyên dương bất kì, ta thay thế số đó bằng tổng bình phương các chữ số của nó.
Lặp lại bước trên cho đến khi thu được số ~1~ hoặc rơi vào chu trình vô hạn không chứa số ~1~.
Nếu thu được số ~1~ thì số ban đầu là số vui vẻ.
Cho số nguyên dương ~N~. Hãy xác định xem ~N~ có phải là số vui vẻ hay không.
Dữ liệu
Dòng đầu tiên chứa số nguyên dương ~T~ ~(T \le 100)~ cho biết số test.
~T~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~N~ ~(1 \le N \le 10^6)~.
Kết quả
Với mỗi test, in ra trên một dòng YES nếu ~N~ là số vui vẻ và NO nếu ngược lại.
Ví dụ
Sample Input
2
7
116
Sample Output
YES
NO
Giải thích
Test thứ nhất: ~7 \to 49 \to 97 \to 130 \to 10 \to 1~, nên ~7~ là số vui vẻ.
Test thứ hai: ~116 \to 38 \to 73 \to 58 \to 89 \to 145 \to 42 \to 20 \to 4 \to 16 \to 37 \to 58 \to \ldots~ rơi vào chu trình ~58 \to 89 \to 145 \to 42 \to 20 \to 4 \to 16 \to 37 \to 58~ không chứa số ~1~, nên ~116~ không phải là số vui vẻ.
Bình luận