Итоги 3 партии: второй: 14; первый: 24. 1) Второй в третьей партии проиграл половину, следовательно 14 - это половина того , что у него было; значит первый в третьей партии выиграл 14, следовательно у него было на 14 меньше. Итоги второй партии: второй: 14*2=24; первый: 24-14=10. 2) Первый во второй партии проиграл половину , следовательно 10 - это половина того, что у него было; значит второй во второй партии выиграл 10, следовательно у него было на 10 меньше. Итого первой партии: второй: 28-10=18; первый: 10*2=20. 3) Второй в первой партии проиграл половину, следовательно 18- это половина того, что у него было; значит первый в первой партии выиграл 18, следовательно у него было на 18 меньше. Итоги до начала игры: второй: 18*2=36; первый: 20-18=2. ответ : 2 монеты было у первого пирата до начала игры. Проверка: второй: (36:2+10):2=14; первый: (2+18):2+14=24
Ну функция randomize() создаёт, перемешивает новые рандомные числа, а random() их предоставляет. Разных вариаций написания много, я например сделал с массивом, можно в принципе и без него, но с ним лучше т.к. числа хранятся в массиве и их можно выводить в будущем, если это слишком сложно для тебя, то я могу написать программу без использования массива.
Var i,b:integer; A:array[1..20] of integer; Begin Randomize(); for i:=1 to 20 do A[i]:=Random(0,50); Write('Из чисел: '); for i:=1 to 20 do begin if i=20 then Writeln(A[i]) else Write(A[i],', ') end; Write('Кол-во четных равняется: '); for i:=1 to 20 do if (A[i] mod 2 = 0) then b:=b+1; Writeln(b) End.