PO VÀ TOÁN HỌC

Po rất thích toán học. Trước khi bắt đầu thi học kỳ, Po lấy bài tập toán của cô giáo đã giao ôn tập. Nhiệm vụ của Po là phải chuyển số nguyên dương ~n~ thành số nguyên dương ~m~ có dạng ~2^x+2^y~ trong đó ~x~ và ~y~ là hai số nguyên không âm và ~x≠y~ sao cho số thao tác chuyển là ít nhất. Mỗi thao tác chuyển Po thực hiện như sau:

  • Cộng ~1~ vào ~n~, hoặc
  • Trừ ~1~ từ ~n~.

Rất nhanh chóng Po đã giải quyết xong bài tập nhưng không biết kết quả có chính xác không? Hãy gải bài toán này và so sánh kết quả với Po.

Dữ liệu vào:

  • Dòng đầu tiên ghi số nguyên ~t~ ~(1≤t≤100000)~ cho biết số test.
  • ~t~ dòng tiếp theo, mỗi dòng ghi một số nguyên ~n~ ~(1≤n≤10^9)~ cho biết một bài toán Po cần giải.

**Kết quả: **

  • Với mỗi test theo thứ tự trong input in ra một số nguyên cho biết số thao tác ít nhất cần chuyển từ ~n~ thành ~m~. Mỗi kết quả ghi trên một dòng.

Ví dụ:

Input

3
10
22
4 

Output

0
2
1 

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. gialinh_10van (23/25)
  2. phamnhi (21/77)
  3. hoangha_10van (15/21)
Trong 7 ngày
  1. phamnhi (126/299)
  2. ilpnvm (68/110)
  3. dambinh (61/97)
Trong 30 ngày
  1. ducchinh (184/249)
  2. hienpham (183/244)
  3. bichngoc (179/266)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 37787

Lưu Hải Phong - 2020
[email protected]