Дан массив b 60 заполнить целыми случайными числами найти произведение чисел кратных 7
259
426
Ответы на вопрос:
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(,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 п=6217461925940365408788480 2. а вот решение, каким обычно обучают в школе 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
//pascal abc.net var b: array[1..60] of longint; i: longint; pr: int64; begin pr: =1; for i: =1 to 60 do begin b[i]: =random(99)+1; if (b[i] mod 7=0) then pr*=b[i]; end; writeln('получившийся массив: '); for i: =1 to 60 do write(b[i],' '); writeln; writeln('произведение чисел кратных 7 равно ',pr); end. //если не пашет (ошибка компиляции): //1) в строке if (b[i] mod 7=0) then pr*=b[i]; замени pr*=b[i]; на pr: =pr*b[i]; //2) если всё равно ошибка компиляции, попробуй int64 заменить на longint //3) если всё равно ошибка компиляции, longint переименуй в integer.
Популярно: Информатика
-
математика62016.05.2023 16:53
-
сархан200708.07.2021 04:22
-
Semfore22.11.2020 03:37
-
elektroo6717.11.2021 13:50
-
Диманник200617.10.2020 20:05
-
VladiusFirst25.10.2022 17:47
-
МОМОГИТИ109.05.2020 04:06
-
иортььо13.04.2022 17:06
-
6епррг23.05.2023 21:09
-
рубін20.07.2022 03:46