
makeSquare
Cho số nguyên n
, trong mỗi lượt bạn có thể xóa đi từ n
một chữ số sao cho số sau đi xóa đi không chứa số 0
ở đầu (nếu n = 80
thì bạn chỉ được xóa số 0 chứ không được xóa số 8).
Hãy viết hàm trả về số lượt ít nhất biến đổi để số n
trở thành số chính phương (số chính phương là số có căn bậc 2 là 1 số nguyên), nếu không thỏa mãn cách xóa để n
trở thành số chính phương thì output -1
.
Ví dụ:
- Cho
n = 8314
, output sẽ có dạngmakeSquare(n) = 2
.
Giải thích: bạn có thể xóa số3
và số4
từn
đển
trở thành81 (9 * 9)
Đầu vào/Đầu ra
- [Thời gian chạy] 0.5s
- Đầu vào: Integer n
1 <= n <= 2 * 10^9
- Đầu ra: Integer
Post Comment