Задача взята с сайта www.e-olymp.com
Условие задачи
Мама попросила Васю полить все молодые деревца в саду. Вася знает, что пока деревья маленькие, их надо очень хорошо поливать. А вот сколько поливать – неизвестно. Но Вася – очень умный мальчик. Он внимательно прочитал весь учебник ботаники для средней школы и выяснил, что полив прямо пропорционален количеству листьев на дереве. Для хорошего роста деревьев достаточно выливать под дерево ежедневно по одному литру воды на каждый лист.
К счастью Васи оказалось, что листья на деревьях растут ярусами, причем на верхнем ярусе два листа, на втором – четыре, на следующем – шесть, и так далее, на каждом последующем ярусе на два листа больше по сравнению с предыдущим. А на самой верхушке растет еще один листик. Хитрый Вася послал младшую сестренку Машеньку подсчитать количество ярусов на каждом дереве, а Вас просит написать программу, которая для каждого дерева вычислит количество литров воды для его полива.
Входные данные
Количество ярусов на дереве.
Выходные данные
Вывести количество литров воды для полива этого дерева.
Тесты
№ | Входные данные | Выходные данные |
1 | 3 | 13 |
2 | 0 | 1 |
3 | 50 | 2551 |
4 | 560 | 314161 |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import java.lang.*; import java.io.*; import java.util.Scanner; class Main { public static void main (String args[]) { int a1 = 2; int d = 2; int sum = 0; Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); sum = ( ( 2 * a1 + d * (n - 1) ) / 2 ) * n; System.out.println(sum + 1); } } |
Решение
Для решения этой задачи необходимо найти сумму арифметической прогрессии, где [latex]a_1=2[/latex] и [latex]d=2[/latex], и добавить к ней единицу (лист с верхушки). Для этого можно воспользоваться формулой суммы арифметической прогрессии [latex]S_n =\frac{2a_1 + d(n-1)}{2}n.[/latex]