Попробуйте привести примеры алгоритмов поиска информации в массиве и сортировки массива, которые допускают распараллеливание операций. Опишите процедуру распараллеливания. Сколько процессоров необходимо для эффективного распараллеливания в приведённом вами примере?
var
n,a,k,sum,i,j: integer;
s: string;
begin
sum:=0;
write ('Введите количество чисел: ');
readln (n);
for i:=1 to n do begin
write ('Введите число: ');
readln (a);
Str(a,s);
k:=0;
for j:=1 to length(s) do
if s[j]='5' then k:=k+1;
if k=2 then sum:=sum+a;
end;
writeln ('Sum = ',sum);
end.
2 вариант через div и mod
var
n,a,x,k,sum,i: integer;
begin
sum:=0;
write ('Введите количество чисел: ');
readln (n);
for i:=1 to n do begin
write ('Введите число: ');
readln (a);
x:=abs(a);
k:=0;
while x>0 do begin
if x mod 10 =5 then k:=k+1;
x:=x div 10;
end;
if k=2 then sum:=sum+a;
end;
writeln ('Sum = ',sum);
end.
пример результата:
Введите количество чисел: 3
Введите число: 550001
Введите число: -550000
Введите число: 123456
Sum = 1