Пират нашел на захваченном корабле N золотых слитков, каждый из которых имеет значительный вес ( W i для слитка с номером i ). Во время боя захваченный корабль получил серьёзные повреждения и вот-вот затонет. Пират может увезти на шлюпке на свой корабль только C килограммов груза. Какие слитки он должен выбрать, чтобы увезти как можно больше золота? Входные данные Первая строка содержит грузоподъёмность шлюпки пирата C в килограммах ( 1 ≤ C ≤ 5000 ). Во второй строке записано количество найденных золотых слитков N ( 1 ≤ N ≤ 100 ). В третьей строке записано N натуральных чисел: массы каждого слитка, разделённые пробелами, в порядке возрастания (неубывания). Выходные данные В первой строке программа должна вывести наибольшую массу золотых слитков, которые может вывезти пират. Во второй строке нужно вывести массы взятых слитков в порядке убывания (невозрастания). Если у задачи есть несколько вариантов решения, достаточно вывести любой из них.
Дано:
Математическое выражение:
«(89+75)−2(72:(3+7))»
Найти:
Значение выражения и округлить его в MS Ecxel.
Формула (Её нужно ввести в окошко Excel и нажать "Enter"):
«=ОКРУГЛ((89+75)-2*(72/(3+7));2)»
ответ:
149,6
(До сотых программа округлить не может, ибо число имеет только десятые в ответе)
Далее скриншот, и файл Excel в котором формула и сам ответ.
1)
var
a,b:array [1..100] of integer;
i,j,k,a,b,f:integer;
begin
randomize;
readln(a);
readln(b);
k:=0;
for i:=1 to 20 do
begin
a[i]:=random(135)-45;
f:=0;
for j:=a to b do
if (a[i]=j) and (a[i] mod 7 =0) then f:=1;
if f=0 then
begin
k:=k+1;
b[k]:=a[i];
end;
end;
for i:=1 to k do
writeln(b[i]);
end.
2)
var
a,b:array [1..100] of integer;
i,j,k:integer;
begin
randomize;
readln(k);
j:=0;
for i:=1 to 20 do
begin
a[i]:=random(135)-45;
writeln(a[i]);
for i:=1 to 19 do
begin
if a[i]*a[i+1]>0 then
begin
j:=j+1;
b[j]:=a[i];
j:=j+1;
b[j]:=k;
end
else
begin
j:=j+1;
b[j]:=a[i];
end;
end;
j:=j+1;
b[j]:=a[20];
for i:=1 to j do
writeln(b[j]);
3)
var
a,b:array [1..20] of integer;
i,j,k1,k2:integer;
begin
randomize;
readln(k1);
readln(k2);
if k1<k2 then
begin
for i:=1 to 20 do
begin
a[i]:=random(135)-45;
writeln(a[i]);
end;
for i:=1 to k1-1 do
b[i]:=a[i];
for i:=k2+1 to 20 do
b[i]:=a[i];
j:=k2;
for i:=k1 to k2 do
begin
b[j]:=a[i];
j:=j-1;
end;
for i:=1 to 20 do
writeln(b[i]);
end;
end.