Если масив заполнить нужно рандомно:
program wk;
var i,s:integer;mas:array [1..10] of integer;
begin
s:=0;
for i:=1 to 10 do
begin
mas[i]:=random(21)-20;
if mas[i] mod 2=0 then s:=s+mas[i];
end;
writeln('S=',s)
end.
Если масив заполняется с клавиатуры:
program wk;
var i,s:integer;mas:array [1..10] of integer;
begin
s:=0;
for i:=1 to 10 do
begin
readln(mas[i]);
if (mas[i] mod 2)=0 then s:=s+mas[i];
end;
writeln('S=',s)
end.
Var
n, k, i: integer;
s: string;
begin
write('Введите число: ');
read(s);
write('Введите исходную систему счисления: ');
read(k);
for i := 1 to length(s) do
n := n * k + ord(s[i]) - 48;
write(s, '(2) = ', n, '(10)');
end.
Пример работы программы:
Введите число: 101000111000111
Введите исходную систему счисления: 2
101000111000111(2) = 20935(10)
Так как при одном последнем сыне осталось 2 изумруда, то с каждым сыном количество предыдущего остатка изумрудов будет удваиваться. то есть нас интересует степень двойки. при 1 = 2 изумруда, при 7 = 2^7=128 изумрудов
Я написала в Qbasic Может, сможешь переложить в паскаль