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(T100)T (T \leq 100) cho biết số test.
  • TT dòng tiếp theo, mỗi dòng chứa một số nguyên dương N(1N106)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 NN 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