Задача 1.Разделим монеты на 3 кучки по 9 монет. Положим на чаши весов первую и вторую кучки; по результату этого взвешивания мы точно узнаем, в какой из кучек находится фальшивка (если весы покажут равенство, то она - в третьей кучке). Теперь, аналогично, разделим выбранную кучку на три части по три монеты, положим на весы две из этих частей и определим, в какой из частей находится фальшивая монета. Наконец, остается из трех монет определить более тяжелую; кладем на чаши весов по 1 монете -фальшивкой является более тяжелая; если же на весах равенство, то фальшивой является третья монета из части.
Задача 2. 1). Наполняем (4), переливаем в (3), в (4) остался 1л. 2). Выливаем из (3), переливаем из (4) в (3), теперь в (3) 1л 3). Наполняем (4) и переливаем в (3) до заполнения. т.е. 2л. В (4) останется 4-2=2л.
Ну почему,когда просят написать программу никто никогда не указывает язык программирования.я напишу на языке паскаль с входным и выходным файлом,но если это не тот язык,твоя проблема.(сообщения в фигурных скобках,это комментарии,просто для пояснение,можешь удалить их)
program p1; const n=10; var a : array[1..n] of integer; i,b,c:integer; begin randomize; assign(input,'input.txt'); reset(input); assign(output,'output.txt'); rewrite(output);
for i:=1 to n do {Заполнение исходного массива} a[i]:=random(21)-10;
for i:=1 to n do {Вывод исходного массива(можно удалить эти строчки)} write(a[i]:4);
c:=0; {Инверсия массива} for i:=1 to 2 do begin b:=a[i]; a[i]:=a[5-c]; a[5-c]:=b; c:=c+1; end; c:=0; for i:=6 to 8 do begin b:=a[i]; a[i]:=a[10-c]; a[10-c]:=b; c:=c+1; end; writeln;
for i:=1 to n do {Вывод инверсированого массива} write(a[i]:4);
Задача 2. 1). Наполняем (4), переливаем в (3), в (4) остался 1л.
2). Выливаем из (3), переливаем из (4) в (3), теперь в (3) 1л
3). Наполняем (4) и переливаем в (3) до заполнения. т.е. 2л.
В (4) останется 4-2=2л.