Сумма кубов рекурсией - нахождение лучшей суммы кубов
📁 python, ии
def sumOfCubes(n):if n == 0: retusumOfCubes(n - (int(n ** (1/3))) ** 3)print((int(n ** (1 / 3)) ** 3), end=' ')sumOfCubes(int(input()))Важно! Задача должна решаться рекуррентной функцией.
Задача заключается в представлении натурального числа в виде суммы кубов других натуральных чисел, при чем должно быть наименьшее возможное число слагаемых.
Ввод: 271
Вывод: 1 27 27 216
Ввод: 100
Вывод: 1 8 27 64
Сайт, на который отправляется этот код, сообщает о неправильных ответах.
Программа должна вывести разложение переданного ей числа в виде суммы кубов других натуральных чисел. Эта сумма должна состоять из наименьшего количества слагаемых среди всех таких сумм.
def max_cube(n:int)->int: retu int(n**(1/3))**3 def sum_of_cubes(n): if n==0: retu [0] if n==1: retu [1] m = max_cube(n) res = [m]+sum_of_cubes(n-m) if (len(res)>1) and (0 in res): res.remove(0) retu resn = 10**10res = sum_of_cubes(n)print(res) Войдите чтобы оставить ответ