Петя разрезал две одинаковые конфеты на 4 примерно одинаковые половинки. как за наименьшее число взвешиваний на чашечных весах без гирь расположить эти половинки в порядке возрастания веса
Общий вес груза = 7*10+7*5 = 105 т, следовательно, на каждой палубе должно быть по 105/3 = 35 т. 35 т. можно получить следующими 10 т 5 т 3 1 2 3 5 1 0 7 Комбинируя эти варианты, получим следующие варианты распределения контейнеров: 1: 10 т 5 т 0 т 3 1 3 (всего 7, вес 35 т) 3 1 3 (всего 7, вес 35 т) 1 5 1 (всего 7, вес 35 т)
7 7 7
2: 10 т 5 т 0 т 3 1 3 (всего 7, вес 35 т) 2 3 2 (всего 7, вес 35 т) 2 3 2 (всего 7, вес 35 т)
{ правильная программа, кол-во элементов вводится с клавиатуры } Program Summa; uses crt; type a1= array of integer; var a: a1; m,s,n: integer; procedure Input; const p=1; const q=20; var i: integer; begin randomize; begin for i:=0 to n-1 do a[i]:=random(q-p+1)+p; write('a[',i,']='); readln(a[i]); end; end; procedure Print; var i: integer; begin write('Массив целых чисел А: '); for i:=0 to n-1 do write(' ',a[i]); writeln; writeln; end; procedure Sum( m: integer); var i: integer; begin s:=0; for i:=0 to m-1 do s:=s+a[i]; end; Begin ClrScr; write('введите кол-во элементов в массиве: '); readln(n); SetLength(a, n); Input; ClrScr; Print; write('Сколько элементов суммировать: '); readln(m); Sum(m); writeln; writeln('Сумма ',m,' элементов масссива равна: ', s); Sum(n); writeln; writeln('Сумма всех ',n,' элементов массива равна: ', s); Writeln ('Среднее арифмитическое всех элементов равно ', s/n); Readkey; end.
35 т. можно получить следующими
10 т 5 т
3 1
2 3
5 1
0 7
Комбинируя эти варианты, получим следующие варианты распределения контейнеров:
1:
10 т 5 т 0 т
3 1 3 (всего 7, вес 35 т)
3 1 3 (всего 7, вес 35 т)
1 5 1 (всего 7, вес 35 т)
7 7 7
2:
10 т 5 т 0 т
3 1 3 (всего 7, вес 35 т)
2 3 2 (всего 7, вес 35 т)
2 3 2 (всего 7, вес 35 т)
7 7 7
правильная программа, кол-во элементов вводится с клавиатуры
}
Program Summa;
uses crt;
type a1= array of integer;
var a: a1;
m,s,n: integer;
procedure Input;
const p=1;
const q=20;
var i: integer;
begin
randomize;
begin
for i:=0 to n-1 do a[i]:=random(q-p+1)+p;
write('a[',i,']=');
readln(a[i]);
end;
end;
procedure Print;
var i: integer;
begin
write('Массив целых чисел А: ');
for i:=0 to n-1 do write(' ',a[i]);
writeln;
writeln;
end;
procedure Sum( m: integer);
var i: integer;
begin
s:=0;
for i:=0 to m-1 do s:=s+a[i];
end;
Begin
ClrScr;
write('введите кол-во элементов в массиве: ');
readln(n);
SetLength(a, n);
Input;
ClrScr;
Print;
write('Сколько элементов суммировать: ');
readln(m);
Sum(m);
writeln;
writeln('Сумма ',m,' элементов масссива равна: ', s);
Sum(n);
writeln;
writeln('Сумма всех ',n,' элементов массива равна: ', s);
Writeln ('Среднее арифмитическое всех элементов равно ', s/n);
Readkey;
end.