Hạt gạo và bàn cờ vua

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Chắc hẳn các bạn đã biết tới câu chuyện hạt gạo và bàn cờ vua rồi nhỉ?

Tiếp nối từ câu chuyện đó, nhà vua vì muốn trốn tránh trách nhiệm phải tạo ra số gạo khổng lồ đó đã thách đố bạn bằng một câu hỏi: Cho một số nguyên dương \(n\), hãy xác định xem có ô nào trên bàn cờ chứa chính xác \(n\) hạt gạo hay không? Hay nói cách khác, hãy kiểm tra xem \(n\) có thể biểu diễn được dưới dạng \(2^x\) với \(x\) là một số nguyên dương bất kì nằm trong đoạn \([0, 60]\).

Input

  • Một số nguyên dương \(n\) \((1 \le n \le 2^{60})\).

Output

  • In ra YES nếu \(n\) thỏa mãn đề bài, ngược lại in ra NO.

Example

Test 1

Input
8
Output
YES
Giải thích

\(8 = 2^3\) nên kết quả là YES.

Test 2

Input
15
Output
NO
Giải thích

\(15\) không thể biểu diễn được dưới dạng \(2^x\) \((x \in N)\) nên kết quả in ra NO.

Bình luận (35)

Mới nhất
Tải bình luận...