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
Input:
stdin
Output:
stdout
Problem type
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Fed có một số nguyên ~x~. Nếu ~x~ là số chẵn thì Fed sẽ thực hiện phép gán ~x = x / 2~; ngược lại nếu ~x~ là số lẻ thì Fed sẽ thực hiện phép gán ~x = x - 1~. Fed sẽ thực hiện các phép gán này cho đến khi ~x = 1~ thì dừng.
Ví dụ với ~x = 6~:
- Lần 1: vì ~x~ chẵn nên gán ~x = x / 2~; ~=> x = 3~
- Lần 2: vì ~x~ lẻ nên gán ~x = x - 1~; ~=> x = 2~
- Lần 3: vì ~x~ chẵn nên gán ~x = x / 2~; ~=> x = 1~
Như vậy kết quả là sau 3 lần gán thì ~x = 1~.
Yêu cầu
Với số nguyên ~x~ cho trước, hãy cho biết Fed thực hiện bao nhiêu phép gán để đưa ~x~ về 1?
Input
Số nguyên dương ~x~ (~1 \leq x \leq 10^{18}~).
Output
Một số nguyên cho biết kết quả bài toán.
Sample Test
Input
6
Output
3
Bình luận