Loading Now

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ạng makeSquare(n) = 2.
    Giải thích: bạn có thể xóa số 3 và số 4 từ n để n trở thành 81 (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

Contact