ЭВМ- это электронно - вычислительная машина.
Алгоритм простой
1) отправляем обоих пацанов на тот берег
2) один возвращается
3) переплывает солдат
4) пацан возвращается с лодкой
если еще остались солдаты переход на п.1
37:2=18(ост1) 151:2=75(ост1)
1)
var a: array [0..9] of integer;
i: integer;
begin
for i := 0 to 9 do
a[i] := random(25);
<span>end.
2)
var a: array [0..9] of integer;
i, m: integer;
begin
for i := 0 to 9 do
begin
readln(a[i]);
if (a[i] mod 2 = 0) then m := m + a[i];
end;
writeln(m / 10);
<span>end.
3)
var a: array [0..9] of integer;
i, m: integer;
begin
for i := 0 to 9 do
begin
a[i] := random(50);
writeln('[', i, '] => ', a[i]);
if ((a[i] mod 2 = 1) and (i mod 2 = 0)) then a[i] := a[i] * 2;
end;
writeln('-------------------');
for i := 0 to 9 do
writeln('[', i, '] => ', a[i]);
<span>end.
4)
var a: array [0..9] of integer;
i, m: integer;
begin
a[0] := 2;
a[1] := 3;
a[2] := 5;
a[3] := 7;
a[4] := 11;
a[5] := 13;
a[6] := 17;
a[7] := 19;
a[8] := 23;
a[9] := 29;
for i := 0 to 9 do
writeln('[', i, '] => ', a[i]);
<span>end.
C последним схитрил... Но работает же =)</span></span></span></span>
, Первоначально (после первого цикла): A = 0 1 2 ... 10
Посмотрим, что делает второй цикл.
Заметим, что переменная k здесь бесполезна - ей присваивают какие-то значения, а потом ничего с ними не делают. Тогда про неё можно забыть. Остаётся только одна команда: A[i] = A[10-i]
Для i = 0, 1, 2, 3, 4 она просто заменяет A[i] на значение, симметричное относительно центра A[5]; A[0]=10, A[1]=9; A[2]=8; A[3]=7; A[4]=6.
С i=5 не происходит ничего: присвоение имеет вид A[5]=A[5]
Для последующих i опять A[i] меняется на симметричное. Но после i=4 массив и так "симметричен", так что все эти команды ничего не делают.
A = [10, 9, 8, 7, 6, 5, 6, 7, 8, 9, 10]