Lũy thừa của 2
Xem dưới dạng PDF
Gửi bài giải
Điểm:
9
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
64M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
An đang học về biểu diễn nhị phân. Cô giáo cho An một dãy số và hỏi: "Trong dãy có bao nhiêu số là lũy thừa của 2?"
Một số nguyên dương \(x\) là lũy thừa của 2 nếu nó có dạng \(x = 2^k\) với \(k $\ge 0\). Trong hệ nhị phân, các số này chỉ có đúng 1 bit 1.
Định dạng đầu vào
- Dòng 1: Số nguyên \(N\) (\(1 \le N $\le 10^5\)).
- Dòng 2: \(N\) số nguyên \(a_1, a_2, \dots, a_N\) (\(1 \le a_i $\le 10^9\)).
Định dạng đầu ra
- In ra một số nguyên duy nhất là số lượng số là lũy thừa của 2 trong dãy.
Ví dụ
Input:
6
1 3 4 7 8 10
Output:
3
Giải thích: Các số là lũy thừa của 2 là \(1 = 2^0, 4 = 2^2, 8 = 2^3\) (tổng cộng 3 số).
Ràng buộc & Subtasks
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 30 | \(N \le 1000, a_i $\le 10^6\) |
| 2 | 70 | \(N \le 10^5, a_i $\le 10^9\) |
Nhận xét