Oks099
19.04.2021 23:07

Ёлочки На сегодняшнем уроке ИЗО весь класс рисует зимний лес. К сожалению, с передачей художественных образов изобразительными методами дела у Тимофея обстоят из рук вон плохо. Но хоть что-то нарисовать нужно, поэтому Тимофей рисует елочки по клеточкам.

Каждая елочка имеет свою красоту, равную количеству ветвей с одной стороны ствола и (так уж совпало) длине самой нижней ветви. Каждая следующая верхняя ветка на одну клетку короче предыдущей. Между ветвями, а также под самой нижней и над самой верхней ветвями, находится ствол дерева шириной ровно в одну клетку. На рисунке вы видите елки кисти Тимофея красотой от 0 до 5 включительно.

Поскольку с математическими формулами Тимофей дружит гораздо сильнее, чем с акварельными красками, его заинтересовал вопрос, какую площадь занимает клетчатая елка определенной красоты. Тимофей без труда решил эту задачу. А вы сможете?

Входные данные
Программа получает на вход одно целое число n — красоту ёлки (0 ≤ n ≤ 2×109).

Обратите внимание, что при данных ограничениях ответ может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные числа (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).

Выходные данные
Программа должна вывести одно целое число — площадь елки красоты n.

Система оценивания
Решение, правильно работающее только для случаев, когда n не превосходят 100, будет оцениваться в

Примеры
Ввод

Вывод

5

41


Ёлочки На сегодняшнем уроке ИЗО весь класс рисует зимний лес. К сожалению, с передачей художественны

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ЧОПОЧНИК
17.11.2021 11:27
Const
  n = 10;
var
  a: array[1..n] of integer;
  i, j, t: integer;
  flag:boolean;
 
begin
  Randomize;
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    a[i] := random(101)-50;
    Write(a[i]:4)
  end;
  Writeln;
  i:=1;
  repeat
    flag:=true;
    for j := 1 to n-i do
      if a[j] > a[j+1] then
      begin t := a[j]; a[j] := a[j+1]; a[j+1] := t; flag:=false end;
    Inc(i);
  until (i>n-1) or flag;
  Writeln('Отсортированный по возрастанию массив');
  for i := 1 to n do Write(a[i]:4);
  Writeln
end.

Тестовое решение:
Исходный массив
 -32  -7   2   2  50 -33   1  31   4 -16
Отсортированный по возрастанию массив
 -33 -32 -16  -7   1   2   2   4  31  50
0,0(0 оценок)
Ответ:
nazarovamarish
17.11.2021 11:27
Const
  n = 10;
var
  a: array[1..n] of integer;
  i, j, t: integer;
  flag:boolean;
 
begin
  Randomize;
  Writeln('Исходный массив');
  for i := 1 to n do
  begin
    a[i] := random(101)-50;
    Write(a[i]:4)
  end;
  Writeln;
  i:=1;
  repeat
    flag:=true;
    for j := 1 to n-i do
      if a[j] > a[j+1] then
      begin t := a[j]; a[j] := a[j+1]; a[j+1] := t; flag:=false end;
    Inc(i);
  until (i>n-1) or flag;
  Writeln('Отсортированный по возрастанию массив');
  for i := 1 to n do Write(a[i]:4);
  Writeln
end.

Тестовое решение:
Исходный массив
 -32  -7   2   2  50 -33   1  31   4 -16
Отсортированный по возрастанию массив
 -33 -32 -16  -7   1   2   2   4  31  50
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота