Алгоритм вычисления квадрата числа
Нужно найти квадрат числа формулой. Пример:
5^2 = 1 + 3 + 5 + 7 + 9
Как мне понять этот алгоритм и написать его на Python'е?
Ответы (2 шт):
Автор решения: Mikhailo
→ Ссылка
n = int(input())
square = 0
for i in range(1,2*n+1,2):
square = square + i
print(square)
Или так:
n = int(input())
square = 0
for i in range(0,n):
square = square + 2*i+1
print(square)
Автор решения: Harry
→ Ссылка
Ага, ну если именно понять алгоритм.
Рассмотрите сумму арифметической прогрессии
1 + 3 + 5 + ... + (2*n+1)
Чему она равна? Если не вспоминаются формулы, то вспомним малолетнего Гаусса, как он считал сумму всех чисел от 1 до 100.
Первое плюс последнее число дают 2*n+2. Второе и предпоследенее — тоже 2*n+2. И так далее... чисел в ряду всего n+1, значит, пар — (n+1)/2, а значит, вся сумма равна
(2*n+2)*(n+1)/2 = (n+1)*(n+1) = (n+1)^2
Т.е. квадрату числа.
Так понятно, откуда что берется? Ну, а как считать, вам уже показали.