Озеро Байкал считается морем по своим размерам. Там постоянные ветра, дожди, снег и прочее. В прилегающих районах другой климат, так как они отдалены от Байкала.
Это своими словами
1. Делим на кучки 333, 333 и 334 монеты. Взвешиваем кучи по 333. Если они равны - монета в куче с 334. Если нет - то в той, которая легче. Дальше все аналогично: взвешиваем 2 одинаковые кучи. если они одинаковые - то монета в третьей. Иначе в легкой.
2. Далее 333/334 монеты делим на кучки по 111/112
3. 111/112 делим на кучи по 37 / 38 монет
4. кучку 37/38 монет делим на 2 кучи по 12 монет и 1 кучу 14/13 монет
5. Кучку из 12, 13 или 14 монет делим на 2 кучи по 4 монеты и одну 4-6 монет.
6. Кучку из 4-6 монет делим на 2 по 2, либо 2 по 2 и 1 оставшаяся монета. либо 3 кучки по 2.
7. Из кучек по 2 монеты выбираем 1 нефальшивую.
<span>Док-во примерное: для однозначного определения, в какой кучке монета фальшивая, нужно делить их на 2 или 3 кучки. На 4 -уже нельзя будет однозначно определить. Каждым взвешиванием мы уменьшаем кол-во монет, из которого нужно выбрать фальшивую, в 3 раза. На последнем взвешивании должно остаться минимум 3 монеты. Т. е. 3^6-максимальное кол-во монет, из которого можно выбрать 1 фальшивую за 6 взвешиваний. Это 729, что меньше 1000. Т. е. из 1000 монет однозначно определить фальшивую можно только 7ю взвешиваниями.</span>
Var
a,p: integer;
begin
p:=1;
a:=1;
while a<>0 do begin
write('Введите a:');readln(a);
if a mod 2<> 0 then p:=p*a;
end;
writeln('произведение нечетных: ',p);
end.
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cout << "Первое число = "; cin >> a;
cout << "Второе число = "; cin >> b;
cout << "Третье число = "; cin >> c;
cout << "Сумма = " << a + b + c << endl;
cout << "Произведение = " << a * b * c << endl;
cout << "Среднее арифметическое = " << (float)(a + b + c) / 3 << endl;
return 0;
}
Var A:byte;
Begin
For A:= 1 to 15 do
WriteLn(A,' * 2 = ',A*2);
End.