1103 - Số vui vẻ

Tạo bởi: CLB Olympic Tin học HUTECH

Mô tả yêu cầu

Số vui vẻ được định nghĩa như nhau:

  • 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ố.
  • 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 Ncó phải là số vui vẻ hay không.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương T (T \leq 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 \leq N \leq 10^6).

Dữ liệu ra

Với mỗi test, in ra trên một dòng duy nhất YES nếu N là số vui vẻ và NO nếu ngược lại.

Ví dụ

Dữ liệu vào Sao chép
2
7
116
Dữ liệu ra Sao chép
YES
NO

Gợi ý/Hướng dẫn

Test thứ nhất:

Test thứ hai:

Đăng nhập để làm bài
Thông tin
Giới hạn thời gian 1 giây
Giới hạn bộ nhớ 128 MB