Biến Đổi Nhanh Nhất
Submit solution
Points:
2
Time limit:
1.0s
Memory limit:
10M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho hai số nguyên n, m. Hãy tìm số bước tối thiểu để biến đổi n thành m bằng 1 trong 2 cách sau:
- Thay n thành n-1
- Thay n thành n*2
Nếu không biến đổi được in ra màn hình ERROR
Input:
- Dòng duy nhất gồm 2 số nguyên n,m (0<= n,m <=10^5)
Output:
- Một số nguyên duy nhất là bước tối thiểu để biến đổi n thành m hoặc nếu không thể biến đổi thì in ra màn hình chứ ERROR.
Example 1:
Input:
2 3
Output:
2
Example 2:
Input:
-5 1
Output:
ERROR
Comments
test 3 là 2 100, sao t tính tay ra 13 là min nhỉ: x=2, y=100
ai giải thích t với .
code đang sai test 3 đây:
việc bao quát hết các trường hợp sẽ rất khó, vì vậy hãy nghĩ thuật toán
còn giải thích #case 3: 2 100 cần ít nhất là 9 lần
x*2 2 lần ra 8
x-1 1 lần ra 7
x*2 1 lần ra 14
x-1 1 lần ra 13
x*2 1 lần ra 26
x-1 1 lần ra 25
x*2 2 lần ra 100
tổng là: 2+1+1+1+1+1+2=9 lần
ok tks bạn