Pull to refresh

Comments 17

О, молодцы, я не сомневался, что заминусуют :)
Это мой первый пост на хабре. Так что смело минусуйте, я готов. — ну зачем же так? может никто даже и не собирался минусовать…

по поводу задачи::

3-ий рыбак одну выкинул и взял 1 рыбу (раз уж по минимуму) — значит было 4
2-ой рыбак тоже одну выкинул и взял 3-ю часть (это 2 карася) — в итоге когда он проснулся было 7 рыб
1-ый так-же все сделал, как и предыдущие рыбаки но вот только третью часть из 7 рыб взять он не мог (7%3!=0)

значит пересматриваем задачку:
3-ий пусть взял 2 — значит было 7 рыб… --снова тупик

подбираем дальше:
3, 4, 5 рыб тоже не подходит

вобщем писал, писал, и решил что это к теме «Project Euler»… типа в уме долго. нужен ум машины

Ну расскажу как я рассуждал!
Попытаемся идти от того момента когда ушёл последний рыбак и сколько то рыбы осталось на земле.
Допустим осталось К рыб.
Тогда К/2 это сколько рыб забрал последний рыбак. К + K/2 + 1 сколько рыбы было до того как последний чел ушёл.
Таких выражений будет ещё 2, рекурсивно :)
Так вот отсюда видно что число К должно делиться на 6.
Поэтому проверям число 6, как кол-во рыб которое осталось после того что все ушли.
(6 + 3 + 1) + (5 + 1) + (8 + 1) = 25
мда… все верно… до 5 я дошел, а до шести уже не стал считать, — думал число будет намного больше))
UFO just landed and posted this here
Интересно решение попроще, ради такой задачки ещё и код писать… Не тру :)
на том сайте, что написали выше в комметах написано:
«… любое положительное решение имеет вид 27k-2, где k-натуральное число»
да… Действительно, ну что ж, первый пост комом :)
Ну пусть и другие почитают это, может будет интересно:)
На мой взгляд, самое простое — идти от конца. То есть если третий рыбак берет «треть», то бишь 1/3, он может её брать от минимум 3-х рыб. Учитывая, что одну выкинул — до него дошло 4-ре рыбы.
Значит, второй рыбак оставив в качестве 2/3 четыре рыбы, сам взял две (1/3): всего было шесть. А так как 2-й рыбак выкинул одну, после первого рыбака оставалось 7 рыб.
И тут получается неувязка небольшая: если 7 рыб — это две трети, то одна треть, та, что унёс 1-й проснувшийся рыбак, будет 3,5 рыбины. 7+3,5=10,5.
Итого, 10,5 рыбины, плюс одна, которую выкинул первый рыбак, будет 11,5 рыбины. Так как половинки рыб не клюют на удочку, округляем до 12-ти (будем считать, что пол рыбы ушло на уху ).
Получается, что 12 рыб — минимальное число.
P.S. Математику спец.цикла и вышмат в техникуме сдал с 6-го раза, в университете — со 2-го; так что прошу не ругать за ошибки в решении или недостаточную его элегантность :)
Если же пройти по ссылке %ostin%, то там в условии задачи написано, что количество рыб не делилось на 3. А это важное уточнение небыло приведено в условии задачи в данном посте, потому что 12 вполне себе делится на 3 :)
«На мой взгляд, самое простое — идти от конца. То есть если третий рыбак берет «треть», то бишь 1/3, он может её брать от минимум 3-х рыб. Учитывая, что одну выкинул — до него дошло 4-ре рыбы.»

третий рыбак мог взять 1/3 от 0 рыб! вот это будет по минимуму!!!
х*3+1=y
y*3+1=z
z*3+1=K
K=((x*3+1)*3+1)*3+1
при x=1, K=(4*3+1)*3+1=13*3+1=40
а теперь от обратного
(40-1)/3 = 13
(13-1)/3 = 4
(4-1)/3 = 1
UFO just landed and posted this here
да. первый рыбак выбрасывает одну — их становится -3, после чего он забирает треть и их становится -2. а второй и третий рыбаки лишь повторяют подлый поступок своего товарища.
это не минимальное количество рыбы :) Кроме того, т.к. это рыба, то число должно быть натуральным :)
Это шутливая задача от физика Поля Дирака, который предсказал существование античастицы(антипротона).
И его ответ на эту задачу 2 антирыбки(-2 рыбки). :)
Что кстати, не совсем верно, т.к. 29 антирыбок тоже подходит. :)
Sign up to leave a comment.

Articles