ONES - Những số 1

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Kiểm tra xem 1 số ~ n ~ có thể viết thành tổng của 1 hoặc nhiều các số trong dãy sau: ~ 11,111,1111,11111,... ~ (mỗi số có thể dùng nhiều lần hoặc không dùng).

Ví dụ như ~ 33= 11+11+11, 222=111+111 ~ thì ~33,222~ có thể viết được.

Input

Gồm số tự nhiên ~n~ duy nhất ( ~ 1 \le n \le 10^{18} ~ ).

Output

In ra YES nó số đó viết được, in ra NO nếu số đó không viêt được

Sample

Input #1
33
Output #1
YES

Hint

Nhớ kĩ YES và NO viết hoa tất cả chữ cái nha!!!


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 1
    dinhvantung0611  đã bình luận lúc 21, Tháng 2, 2024, 5:37 chỉnh sửa

    Tất cả các số lớn hơn 111 mà toàn chữ số "1", đều có thể biểu diễn = 2 số 111, 11:

    1111 = 11 * 100 + 11

    11111 = 111 * 100 + 11

    111111 = 111 * 1000 + 111

    1111111 = 111 * 10000 + 11 * 100 + 11

    ...

    Như vậy nếu 1 số n được tạo thành từ tổng các số chứa toán chữ số "1", chắc chắn có thể biểu diễn thành tổng của các chữ số 111 và 11. Ví dụ: 144 = 111 + 3 * 11.

    Vậy ta có phương trình: x * 11 + y * 111 = n <=> x = (n - y * 111) / 11. Việc cần làm tiếp theo là đi tìm cặp nghiệm (x, y) nguyên dương thoả mãn.


  • 1
    Mechamaru  đã bình luận lúc 2, Tháng 1, 2024, 2:17

    ai có ý tưởng ko cho mik cin:))


    • 1
      dainghiajustiin  đã bình luận lúc 2, Tháng 1, 2024, 6:04

      ý tưởng nằm ở 2 con số đầu tiên của dãy nha bạn