Bạn được cung cấp một số nguyên không âm n
và một số nguyên p >= 2
. Bạn cần thêm một số p
sức mạnh thứ ( p=2
có nghĩa là hình vuông, p=3
có nghĩa là hình khối) với nhau để có được n
. Đây luôn là đối với bất kỳ không âm n
, nhưng bạn không biết nhiều p
quyền hạn -thứ (của bất kỳ dương tính số nguyên), bạn sẽ cần.
Đây là nhiệm vụ của bạn: tìm số lượng p
quyền hạn tối thiểu có thể tổng hợp n
.
Ví dụ
>>> min_powers(7, 2)
4 # you need at least four squares to add to 7
# Example: (2)^2 + (1)^2 + (1)^2 + (1)^2 = 4 + 1 + 1 + 1 = 7
>>> min_powers(4, 2)
1 # you need at least one square to add to 4
# Example: (2)^2 = 4
>>> min_powers(7, 3)
7 # you need at least seven cubes to add to 7
# Example: 7*(1)^3 = 7
>>> min_powers(23, 3)
9 # you need at least nine cubes to add to 23
# Example: 2*(2)^3 + 7*(1)^2 = 2*8 + 7*1 = 23
Một bài viết Wikipedia liên quan về vấn đề này, vấn đề của Waring .
Quy tắc
Mã của bạn phải là một chương trình hoặc một chức năng.
Đầu vào là hai số nguyên
n
vàp
theo thứ tự bất kỳ. Bạn có thể giả sử tất cả các đầu vào là hợp lệ (n
là bất kỳ số nguyên dương nào,p >= 2
Đầu ra là một số nguyên biểu thị số lượng quyền hạn cần thiết để tổng hợp
n
.Đây là mã golf, vì vậy chương trình ngắn nhất sẽ thắng., Không nhất thiết là hiệu quả nhất.
Bất kỳ và tất cả các phần dựng sẵn đều được cho phép.
Như mọi khi, nếu vấn đề không rõ ràng, xin vui lòng cho tôi biết. Chúc may mắn và chơi golf tốt!