Remove Bit

Xem dạng PDF

Gửi bài giải

Điểm: 5,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++

Cho số nguyên dương ~n~, hãy viết hàm trả về số lớn nhất sau khi bỏ đi ~1~ bit tại ví trí bất kỳ từ biểu diễn nhị phân của số ~n~.

Ví dụ

Cho ~n = 4~, output sẽ có dạng ~removeBit(n) = 2~. Cho ~n = 7~, output sẽ có dạng ~removeBit(n) = 3~.

Input
  • Một số nguyên dương ~n ( 1 \le n \le 10^9)~
Output
  • In ra số nguyên dương ~k~ theo yêu cầu đề bài.
Sample Input 1
4
Sample Output 1
2
Sample Input 2
7
Sample Output 2
3
Giải thích ví dụ
  • ~4_{10} = 100_2~. Sau khi bỏ bit ở vị trí thứ ~3~ ta được ~10_2 = 2_{10}~
  • ~7_{10} = 111_2~. Sau khi bỏ bit ở vị trí thứ ~3~ ta có được ~11_2 = 3_{10}~

Bình luận

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


Không có bình luận tại thời điểm này.