Предмет: Информатика,
автор: СашаФокин
Решите задачу НА PYTHON
Задача B. Ёлки
(Время: 1 сек. Память: 16 Мб)
Иван любит уроки математики и рисования. Поэтому он часто эти уроки совмещает, рисуя и вычисляя что-нибудь в тетрадке в клеточку. Сегодня он решил нарисовать N ёлочек по клеткам.
Каждая ёлочка имеет свою красоту K от 1 до N, равную количеству ветвей с одной стороны ствола и длине самой нижней ветви. Каждая следующая верхняя ветка на одну клетку короче предыдущей. Между ветвями, а также под самой нижней и над самой верхней ветвями находится ствол дерева шириной ровно в одну клетку. На приведенном ниже рисунке мы видим все ёлочки для N=5:
Ивана заинтересовал вопрос: сколько всего клеток в тетради ему придется закрасить, чтобы нарисовать N различных ёлок с красотой от 1 до N? Помогите ему решить эту задачу!
Входные данные
Входной файл INPUT.TXT содержит одно целое число N (N ≤ 106) – количество ёлок.
Выходные данные
В выходной файл OUTPUT.TXT выведите одно целое число – общую площадь (количество закрашенных клеток) всех ёлок, которые Иван планирует нарисовать.
Приложения:
Ответы
Автор ответа:
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)
СашаФокин:
спасибо огромное!
не за что, обращайся)
а что значат переменные s, k, f?
s - общая площадь
f - площадь текущего дерева
а k и f?
k - коэффициент разности между деревьями, который растёт в арифметической прогрессии, который мы добавляем
спасибо еще раз
Похожие вопросы
Предмет: Русский язык,
автор: 0986543467
Предмет: Русский язык,
автор: вендин
Предмет: Математика,
автор: 197823
Предмет: Русский язык,
автор: iskandermardan
Предмет: Геометрия,
автор: Аноним