Интересная задачка

Имя входного файла стандартный ввод Имя выходного файла стандартный вывод Ограничение по времени 2 секунды Ограничение по памяти 64 мегабайта Необходимо составить программу возведения натурального числа в третью степень, учитывая следующую закономерность:

1 в 3=1=1; 2 в 3=3+5; 3 в 3=7+9+11; 4 в 3=13+15+17+19; 5 в 3=21+23+25+27+29; … Формат входных данных

Вводится одно целое положительное число n (1≤n≤1200)(1≤n≤1200). Формат выходных данных

Программа должна вывести результат возведения в третью степень. Примечания

При решении задачи нельзя использовать операцию умножения и функцию степени для возведения числа в степень. Примеры

входные данные выходные данные 2…8 8…512

Свои решения присылайте в ответы

По характеру условия - или олимпиада, или образовательный ресурс, где решение проверяется одним из предустановленных компиляторов/интерпретаторов. Таких задач из интернета можно страсть сколько понадергать. Даже целые книги есть.

begin
  var n := ReadInteger;
  var v := n*(n-1)+1;
  var r := 0;
  for var i := 1 to n do (r, v) := (r + v, v + 2);
  WriteLn(r);
end.

Если же умножение исключить и при нахождении переменой v, то строку

var v := n*(n-1)+1;

заменить на

var v := 1; for var i := 1 to n-1 do v += 2;

1 лайк

Хорошее решение!

Ralex, почти угадал

begin var n:=ReadInteger; var f:=Range(1,n-1).Aggregate(1,(a,i)->a+i+i); var s:=SeqGen(n,f,i->i+2).Print(’+’); writeln(’=’,s.Sum); end.

Помодерируйте хотя бы полгодика ресурс “Знания” - будете тоже с налёта определять, что откуда…