Заданы количество сторон в основании правильной пирамиды размер стороны и высота пирамиды. найти площадь поверхности пирамиды. (программирование на языке си)
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 нефальшивую.
Док-во примерное: для однозначного определения, в какой кучке монета фальшивая, нужно делить их на 2 или 3 кучки. На 4 -уже нельзя будет однозначно определить. Каждым взвешиванием мы уменьшаем кол-во монет, из которого нужно выбрать фальшивую, в 3 раза. На последнем взвешивании должно остаться минимум 3 монеты. Т. е. 3^6-максимальное кол-во монет, из которого можно выбрать 1 фальшивую за 6 взвешиваний. Это 729, что меньше 1000. Т. е. из 1000 монет однозначно определить фальшивую можно только 7ю взвешиваниями.
Тут все достаточно просто. Вычитать 4 из 2 смысла нет: получим -2 и что с ним дальше делать? Возведя -2 в квадрат, получим 4, но зачем 4 получать за две команды, когда можно сразу возвести исходную двойку в квадрат? А дальнейшее вычитание даст -6, квадрат -6 это 36, что никак не напоминает 64. Поэтому первая команда - это "возведи в квадрат" и мы получим 4.
Из 4 вычитать 4 смыла никакого: получим ноль и дальше что? В квадрат возводить его смысла нет, вычитать еще 4 - будет -4 - и зачем оно нам, когда у нас 4 и так есть? Так что остается опять только "возведи в квадрат". Получаем 16 и это была вторая команда.
Вот 16 в квадрат возводить уж точно смысла нет: зачем нам 256, когда идем к 64? Так что теперь - только "вычти 4". Получим 12.
С 12 такое же рассуждение, 144 - это много. Опять "вычти 4" и получили 8.
Отлично, последняя команда "возведи в квадрат" и мы получили 64!
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 нефальшивую.
Док-во примерное: для однозначного определения, в какой кучке монета фальшивая, нужно делить их на 2 или 3 кучки. На 4 -уже нельзя будет однозначно определить. Каждым взвешиванием мы уменьшаем кол-во монет, из которого нужно выбрать фальшивую, в 3 раза. На последнем взвешивании должно остаться минимум 3 монеты. Т. е. 3^6-максимальное кол-во монет, из которого можно выбрать 1 фальшивую за 6 взвешиваний. Это 729, что меньше 1000. Т. е. из 1000 монет однозначно определить фальшивую можно только 7ю взвешиваниями.
Вычитать 4 из 2 смысла нет: получим -2 и что с ним дальше делать?
Возведя -2 в квадрат, получим 4, но зачем 4 получать за две команды, когда можно сразу возвести исходную двойку в квадрат? А дальнейшее вычитание даст -6, квадрат -6 это 36, что никак не напоминает 64.
Поэтому первая команда - это "возведи в квадрат" и мы получим 4.
Из 4 вычитать 4 смыла никакого: получим ноль и дальше что? В квадрат возводить его смысла нет, вычитать еще 4 - будет -4 - и зачем оно нам, когда у нас 4 и так есть? Так что остается опять только "возведи в квадрат". Получаем 16 и это была вторая команда.
Вот 16 в квадрат возводить уж точно смысла нет: зачем нам 256, когда идем к 64? Так что теперь - только "вычти 4". Получим 12.
С 12 такое же рассуждение, 144 - это много. Опять "вычти 4" и получили 8.
Отлично, последняя команда "возведи в квадрат" и мы получили 64!
ответ: 11221