Вариант решения №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.
shumilovs7252
22.12.2022
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
ooo-helpvet44
22.12.2022
# Код на ruby 2.2.3p173 a1, a2 = [], [] for i in 100..999 t = i s = 0 while t>0 s += t % 10 t = t / 10 end
a1<<i if i%7==0 and s%7==0 a2<<i if i%47==43 end
p a1 p a2
a3 = [] sum = 0
for i in 31..99 if i%3==0 and (i%10==2 or i%10==4 or i%10==8) a3<<i sum += i end end
Находим через сумму членов 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.