Обязательно блок-схемой! составить машину поста. на ленте задана последовательность массивов, включающая в себя один и более массивов. при этом два соседних массива отделены друг от друга одной пустой ячейкой. необходимо на ленте оставить один массив длиной равной сумме длин массивов, присутствовавших изначально. каретка находится над крайней левой меткой первого (левого) массива
int main()
{
using namespace std;
system("chcp 1251 > nul"); //для кириллицы
int age;
cout << "Введите возраст: ";
cin >> age;
if (age > 4 && age < 21)
cout << age << " ЛЕТ" << endl;
else if (age % 10 == 1)
cout << age << " ГОД" << endl;
else if (age % 10 > 1 && age % 10 < 5)
cout << age << " ГОДА" << endl;
else
cout << age << " ЛЕТ" << endl;
return 0;
}
Находим через сумму членов 2¹ + 2² + 2³ +...+ 2ⁿ
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
var i,j,s,n,a: integer;
begin
readln(n);
for i:=1 to n do begin
a:=1;
for j:=1 to i do begin
a:=a*2;
end;
s:=s+a;
end;
writeln(s);
end.
Тестовое решение:
5
62
Вариант решения №2
Заметим, что 2¹ + 2² + 2³ +...+ 2ⁿ =2ⁿ⁺¹ - 2
Тогда алгоритм сильно упрощается
//PascalABC.NET (версия 3.1, сборка 1198 от 11.03.2016)
var i,n,a: integer;
begin
readln(n);
a:=1;
for i:=1 to n+1 do a:=a*2;
writeln(a-2);
end.