1. Современное эффективное решение
// PascalABC.NET 3.2, сборка 1362 от 14.12.2016// Внимание! Если программа не работает, обновите версию!begin var a:=ArrRandom(60,1,99); a.Println; Writeln('П=',a.Where(x->x mod 7=0).Aggregate(BigInteger(1),(x,y)->x*y))end.
Пример79 23 80 37 68 93 7 77 16 29 97 73 36 33 36 98 91 67 28 37 91 17 42 28 83 85 33 28 8 28 61 85 76 92 78 31 82 91 43 35 21 7 27 83 82 57 36 28 13 42 88 38 54 73 36 62 80 52 54 82П=62174619259403654087884802. А вот решение, каким обычно обучают в школеvar a:array[1..60] of integer; i:integer; p:real;begin Randomize; p:=1; for i:=1 to 60 do begin a[i]:=Random(99)+1; Write(a[i],' '); if a[i] mod 7=0 then p:=p*a[i] end; Writeln; Writeln('П=',p)end.
Пример61 17 39 73 2 48 22 17 42 22 82 37 29 59 70 11 43 29 21 31 31 10 44 27 11 68 76 39 68 84 64 39 78 64 25 32 80 1 92 28 98 5 27 28 82 92 20 59 49 98 93 1 33 97 85 52 72 13 62 33 П=1.91341954266624E+15