Program fofgogjoj; var arr: array[1..1000] of byte; max_num, min_num: byte; i: byte; n,p:integer; begin randomize; Wriiteln('Введите число n'); Readln(n); for i := 1 to n do begin arr[i] := random(100); Write (arr[i]:3); end; max_num := arr[1]; for i := 2 to n do if arr[i] > max_num then begin max_num := arr[i]; end; Writeln; Writeln ('Max = ',max_num); min_num := arr[1]; for i := 2 to n do if arr[i] < min_num then begin min_num := arr[i]; end; Writeln; Writeln ('Min = ',min_num); P:=max_num*min_num; Writeln('Произведение равно:',p); end.
Вот код на питоне:
N = int(input())
objects = []
for i in range(N):
objects.append(list(map(int, input().split(
rezult = []
summ = 0
price = 0
while summ <= 40:
Max = 0
index = -1
for i in objects:
if i[1] > Max and i[0] + summ <= 40 and not objects.index(i) in rezult:
Max = i[1]
index = objects.index(i)
if index == -1:
break
rezult.append(index)
summ += objects[index][0]
price += objects[index][1]
for i in rezult:
print(i + 1)
print(summ, price)
Объяснение:
При необходимости могу пояснить построчно.
var
arr: array[1..1000] of byte;
max_num, min_num: byte;
i: byte;
n,p:integer;
begin
randomize;
Wriiteln('Введите число n');
Readln(n);
for i := 1 to n do begin
arr[i] := random(100);
Write (arr[i]:3);
end;
max_num := arr[1];
for i := 2 to n do
if arr[i] > max_num then
begin
max_num := arr[i];
end;
Writeln;
Writeln ('Max = ',max_num);
min_num := arr[1];
for i := 2 to n do
if arr[i] < min_num then
begin
min_num := arr[i];
end;
Writeln;
Writeln ('Min = ',min_num);
P:=max_num*min_num;
Writeln('Произведение равно:',p);
end.