Вариант решения №1 Находим через сумму членов 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.
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.