Решите на Паскале
На кондитерской фабрике есть некоторое количество пирожных нескольких разных видов. Пирожных разных видов может быть разное количество. Было принято решение отвезти пирожные на продажу на ярмарку, но директор фабрики решил, что кондитерские изделия на ярмарочной витрине должны быть выложены одинаковыми рядами, при этом пирожных каждого вида должно быть одинаковое количество. Необязательно отвозить на ярмарку все виды пирожных, можно выбрать некоторые виды и взять одинаковое число пирожных каждого выбранного вида директору отвезти на ярмарку наибольшее число пирожных — найдите, сколько видов пирожных и сколько пирожных каждого вида нужно отвезти на ярмарку.
A:array[1..1000] of integer;
B:array[1..3] of integer;
i,N:integer;
Begin
Write('N = ');ReadLn(N);
For i:= 1 to N do
Begin
Read(A[i]);
if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i];
if A[i] mod 2 = 0 then B[2]:=B[2]+A[i];
End;
WriteLn;
For i:= 1 to N do
Write(A[i],' ');
B[3]:=B[1]+B[2];
WriteLn('B[1] = ',B[1]);
WriteLn('B[2] = ',B[2]);
WriteLn('B[3] = ',B[3]);
End.
или так:
Var
A:array of integer;
B:array[1..3] of integer;
i,N:integer;
Begin
Write('N = ');ReadLn(N);
A:=new integer[N];
For i:= 0 to N-1 do
Begin
Read(A[i]);
if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i];
if A[i] mod 2 = 0 then B[2]:=B[2]+A[i];
End;
WriteLn;
For i:= 0 to N-1 do
Write(A[i],' ');
B[3]:=B[1]+B[2];
WriteLn('B[1] = ',B[1]);
WriteLn('B[2] = ',B[2]);
WriteLn('B[3] = ',B[3]);
End.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(80,1,35); a.Println;
var amin:=a.Min;
var amax:=a.Max;
Writeln('Минимум ',amin,', максимум ',amax,', их произведение ',amin*amax)
end.
Пример
35 15 30 3 4 15 7 28 9 16 31 28 22 33 9 19 16 17 20 11 19 30 2 34 21 10 3 21 26 9 1 11 23 27 4 22 16 13 4 15 4 31 10 25 11 13 8 14 14 33 24 14 7 26 20 6 14 32 17 30 13 21 3 35 16 20 6 31 29 23 3 4 14 6 7 24 20 13 24 9
Минимум 1, максимум 35, их произведение 35