var
d : array of integer;
n : integer;
function arrSumRec(d : array of integer; n : integer) : integer;
begin
if n > d.Length-1 then exit;
result := d[n]+arrSumrec(d, n+1);
n += 1;
end;
begin
write('введите количество элементов для массива ');
readln(n);
d := new integer[n];
d := arrRandom(n, 1, 100);
writeln('сгенерирован массив из ', n, ' элементов со значениями в диапозоне 1..100');
writeln(d);
writeln('Сумма = ', arrSumRec(d, 0));
end.
функция function arrSumRec(d : array of integer; n : integer) : integer; в качестве первого параметра получает массив сумму которого считаем в качестве второго номер члена начиная с которого считаем сумму. Не забываем что нумерация начинается с нуля. поэтому чтобы посчитать сумму всех членов массива в качестве второго параметра указываем 0.
program DecToBinCount;
uses
SysUtils, StrUtils;
function DecToBin (m: Integer): string;
var
r: Integer;
s: string;
begin
while (m > 0) do Begin
r := m mod 2;
m := m div 2;
s := IntToStr (r) + s;
end;
Result := s;
end;
var
m, n, x, i, c: Integer;
s: string;
begin
Write ('Введите M, N, X: ');
ReadLn (m, n, x);
WriteLn;
c := 0;
for i := m to n do begin
s := DecToBin (i);
if RightStr (s, x) = StringOfChar ('0', x) then begin
WriteLn (s, ' '); // для проверки. после тестирования закомментарить
Inc (c);
end;
end;
WriteLn (c);
ReadLn;
end.
Главный бухгалтер организации хочет купить автомобиль. Автомобиль стоит 500 000 р. Зарплата бухгалтера 20 000 р. Сколько главбух должен украсть каждый месяц, что бы купить выбранный автомобиль через год, при этом не сев в тюрьму?