В городе N, как это ни странно, живет ровно n детей. Чтобы обеспечить их всех подарками к новому году Фабрика Деда Мороза производит ровно n подарков. При этом, чтобы не повторяться, все подарки имеют разный вес: первый подарок...

В городе N, как это ни странно, живет ровно n детей. Чтобы обеспечить их всех подарками к новому году Фабрика Деда Мороза производит ровно n подарков. При этом, чтобы не повторяться, все подарки имеют разный вес: первый подарок весит 1 кг, а каждый следующий на 2 кг больше предыдущего. Деду Морозу необходимо подобрать сани правильной вместимости (вместимость должна точно совпадать с суммарным весом подарков). Чтобы Деду Морозу не мучаться каждый раз с подсчетом суммарного веса подарков, придумайте формулу, вычисляющую необходимую величину. Под формулой понимается некоторое выражение, которое может содержать целые числа, переменную n, операции сложения (обозначается «+»), вычитания (обозначается «-»), умножения (обозначается «*») и круглые скобки для изменения порядка действий. Умножение необходимо записывать с использованием знака «*». Запись вида «2n» для обозначения произведения числа 2 и переменной n неверная, нужно писать «2 * n». Пример правильного (по форме записи) выражения: 5 + (n - 1) * 2 + n*(n-1). P.S. Деду Морозу без разницы придумаете ли вы формулу или напишете свою программу вместо предложенного шаблона. Формат входных данных Полученную формулу необходимо вставить в код программы вместо многоточия. Обращаем внимание, что в конце строки обязательно должен стоять знак «;». Например, вот так: weight = 5 + (n - 1) * 2 + n*(n-1);
Гость
Ответ(ы) на вопрос:
Гость
Если я не ошибаюсь, то вес подарков - это последовательность нечетных чисел: 1, 3, 5, 7, 9 ... и таких чисел N Остается найти сумму N чисел. Далее можно заметить, что 1 = 1²  (N=1) 1 + 3 = 4 = 2²  (N=2) 1 + 3 + 5 = 9 = 3²  (N=3) 1 + 3 + 5+ 7 = 16 = 4²   (N=4)  и так далее ... То есть сумма нечетных  N равна N² Формула может быть такой: weight = n*n;
Гость
Можно воспользоваться вариантом Vladmor, он более легкий и подходит под эту задачу, но чтобы не повторяться, для разнообразности, предложу свой вариант. 1+3+5+7 это ничто иное как арифметическая прогрессия. Есть несколько формул суммы членов прогрессии, но под этот тип задачи подойдёт такая: [latex]S_{n} =\frac{2a_{1}+d(n-1)}{2} * n[/latex] [latex] a_{1}[/latex] - это член последовательности с индексом 1, то есть первое число в ряду. d - это разность между двумя соседними членами, из большего вычитаем меньшее n - это сколько всего членов и так, у нас получается [latex] a_{1}[/latex] = 1 (в условии задачи сказано что первый подарок весит 1кг) d = 2 (в условии сказано что следующий подарок увеличивается на 2, ничто иное как разность) n = это переменная, она нам не известна, поэтому так и оставим. [latex] S_{n} [/latex] - это сумма веса всех подарков, в примере используется слово "weight" что в переводе "вес", поэтому подставим это слово. И теперь подставим что у нас имеется. weight = [latex]\frac{2*1+2(n-1)}{2} * n[/latex] weight =[latex]\frac{2+2(n-1)}{2} * n[/latex] В коде программу будет записано так weight = ( ( 2+2*(n-1) ) / 2)*n Проверим, например у нас 5 детей, значит надо 5 подарков, это 1+3+5+7+9 = 25 Проверим формулу weight = ( ( 2+2*(5-1) ) / 2)*5 weight = ( ( 2+2*4 ) / 2)*5 weight = ( ( 2+8 ) / 2)*5 weight = ( 10 / 2)*5 weight = 5*5 weight = 25 Всё сходится. Расписал подробно, чтобы всё было понятно Так же этот вариант подойдёт для других таких типовых задач, а вариант Vladmor подойдёт только в некоторых случаях, будь внимателен(на)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы