Информатика, вопрос задал СашаФокин , 7 лет назад

Решите задачу НА PYTHON
Задача B. Ёлки
(Время: 1 сек. Память: 16 Мб)
Иван любит уроки математики и рисования. Поэтому он часто эти уроки совмещает, рисуя и вычисляя что-нибудь в тетрадке в клеточку. Сегодня он решил нарисовать N ёлочек по клеткам.

Каждая ёлочка имеет свою красоту K от 1 до N, равную количеству ветвей с одной стороны ствола и длине самой нижней ветви. Каждая следующая верхняя ветка на одну клетку короче предыдущей. Между ветвями, а также под самой нижней и над самой верхней ветвями находится ствол дерева шириной ровно в одну клетку. На приведенном ниже рисунке мы видим все ёлочки для N=5:

Ивана заинтересовал вопрос: сколько всего клеток в тетради ему придется закрасить, чтобы нарисовать N различных ёлок с красотой от 1 до N? Помогите ему решить эту задачу!

Входные данные
Входной файл INPUT.TXT содержит одно целое число N (N ≤ 106) – количество ёлок.

Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – общую площадь (количество закрашенных клеток) всех ёлок, которые Иван планирует нарисовать.

Приложения:

Ответы на вопрос

Ответил Mrdenk
2

Прежде, чем решать задачу, попробуем найти закономерность.

Запишем площадь каждой ёлочки от 1 до 5:

1) 5

2) 11

3) 19

4) 29

5) 41

Заметим, что разница между площадями возрастает в арифметической прогрессии:

6

8

10

12

Можно доказать, что это будет верно всегда, но нам нужно лишь написать код

N - число маленькое, поэтому мы можем просто пройтись циклом:

Код программы:

N = int(input())

s = 5

k = 6

f = 5

for i in range(1, N):

s += f + k

f = f + k

k += 2

print(s)


СашаФокин: спасибо огромное!
Mrdenk: не за что, обращайся)
СашаФокин: а что значат переменные s, k, f?
Mrdenk: s - общая площадь
Mrdenk: f - площадь текущего дерева
СашаФокин: а k и f?
Mrdenk: k - коэффициент разности между деревьями, который растёт в арифметической прогрессии, который мы добавляем
СашаФокин: спасибо еще раз
Новые вопросы