Помогите написать функцию 4**3 = 13 + 15 + 17 + 19 в python
Всем привет. Помогите написать функцию:
существует закономерность:
1^3 = 1;
2^3 = 3 + 5;
3^3 = 7 + 9 + 11;
4^3 = 13 + 15 + 17 + 19;
и т. д.
Надо создать функцию show_cube(n), которая при вызове выводит соответствующую строку: Например: show_cube(3) должна вывести: 3**3 = 7 + 9 + 11
show_cube(5) должна вывести: 5**3 = 21 + 23 + 25 + 27 + 29 = 125
Ответы (1 шт):
Не понимаю зачем тут вообще питон?
сумма арифметической прогрессии -
S = (2a1 + d(n-1)) * n / 2
если нужны последовательные нечетные числа, то получаем
S = (2a1 + 2(n-1)) * n / 2 = (a1 + n - 1) * n
при этом надо разложить число n^3, а значит
n^3 = (a1 + n - 1) * n
откуда
n^2 = a1 + n - 1
и
a1 = n^2 - n + 1
т.е. первый член прогрессии найден (n - известен был)
И что - эту формулу надо на питоне закодить?!!!
Алгоритм:
- вычислить
a1из приведённой выше формулы - создать список из
nэлементов, содержащий числаa1и выше - вывести список поэлементно, используя в качестве разделителя
+
вариант 1 - простой
print(f"{n}^3 = ", end='')
print(*list(map(lambda x: n * n - n + 1 + x * 2, range(n))), sep=' + ')
вариант 2 - используется высшая математика (интегральное и тензорное исчисления)
print(f"{n}^3 = ", end='')
print(*range(n * n - n + 1, n * n + n + 1, 2), sep=' + ')
вариант 3 - утечка из Зоны 51
print(f"{n}^3 = {' + '.join(map(str, range(n * n - n + 1, n * n + n + 1, 2)))}")