
twoSix
Cho trước một số nguyên n
. Trong một thao tác, bạn có thể nhân n
với 2
hoặc chia n
cho 6
(chỉ khi n
chia hết cho 6
). Bạn hãy tìm ra số thao tác cần sử sụng ít nhất để biến n
thành 1
. Nếu không thể, hãy trả lại giá trị -1
Ví dụ:
Với n = 3
thì two_six(n) = 2
- Giải thích: Ta có:
3 * 2 = 6
6 / 6 = 1
=> số thao tác ít nhất cần thực hiện là2
Với n = 2
thì two_six(n) = -1
- Giải thích: vì không thể làm cho giá trị của
n
bằng1
Đầu vào/Đầu ra:
- [Giới hạn thời gian chạy] 0.5 giây với C++, 3 giây với Java và C#, 4 giây với Python, Go và Js.
- [Đầu vào] Integer n
1 ≤ n ≤ 109
- [Đầu ra] Integer
Số thao tác ít nhất cần thực hiện để lấy giá trị1
từn
, nếu không thể thì trả lại-1
Post Comment