Smirnovav1982422
?>

Pascal abc: найдите сумму 2^1+2^2+2^3+2^4++2^n программа в pascalabc

Информатика

Ответы

Eduardovich
Вариант решения №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
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна.
в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага.
в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений.
есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует.
почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
ooo-helpvet44
 # Код на 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

p sum
p a3

Вывод
[133, 266, 322, 329, 392, 399, 455, 511, 518, 581, 588, 644, 700, 707, 770, 777, 833, 966]
[137, 184, 231, 278, 325, 372, 419, 466, 513, 560, 607, 654, 701, 748, 795, 842, 889, 936, 983]
378
[42, 48, 54, 72, 78, 84]

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Pascal abc: найдите сумму 2^1+2^2+2^3+2^4++2^n программа в pascalabc
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

adminkuncevo
baton197310
gav973
shpakohat
shef3009
Голубева1440
keshka12719
f-d-a-14
koptevan6
parabolaspb
ДеречинскийИрина1149
a580028r
iivanov54
krasa28vostok65
helenya