Давай попробуем рассуждать логически. Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.
Uses crt; const Q=10000; var a:array [1..Q] of integer; x,k,p,m,n,o:integer; begin write('a='); readln(m); write('b='); readln(n); a[1]:=m; for x:=2 to (n-m+1) do a[x]:=a[x-1]+1; write('Положительные: '); for x:=1 to (n-m+1) do if a[x]>0 then begin inc(p); write(a[x],' '); end; writeln; write('Отрицательные: '); for x:=1 to (n-m+1) do if a[x]<0 then begin inc(o); write(a[x],' '); end; writeln; writeln('Положительных чисел:', p); writeln('Отрицательных чисел:',o); end.
Если бы сад состоял из двух деревьев, то было бы два варианта садов: 100+99 и 100+101. Если бы досадили третье дерево, то каждый из предыдущих садов удвоил бы число вариантов: первый 100+99+98 и 100+99+100, и так же второй 100+101+100 и 100+101+102. Подмечаем закономерность: каждое добавляемое дерево удваивает количество вариантов. А сад из одного дерева имеет лишь один вариант.
Поэтому ответ: 1 * 2 * 2 * 2 * ... (десять двоек умножаются) = 2^10 = 1024 варианта садов.
Думаю что так, если не напутал. Но ты лучше проверь за мной.