Задача
Три грибника Петя, Вася и Николай, возвращаясь из лесу домой, решили устроить привал, а заодно и перекусить. Как это у нас принято, через некоторое время каждый начал сначала хвастаться своими сегодняшними успехами, а со временем, а так все трое были друзьями, то вскоре начали делить найденными ими грибы между собой и своими товарищами.
Сначала Пётр дал Васе и Николаю по столько грибов, сколько у них уже было. Николай быстро понял, что так будет не по-братски, и дал Василию и Петру по столько грибов, по сколько у них стало. Василий не мог отстать от сотоварищей и также дал каждому из друзей по столько грибов, сколько у них этому моменту имелось. И тут друзья с удивлением обнаружили, что у всех стало грибов поровну.
Сколько грибов было у каждого перед привалом, если известно, что все вместе они собрали n грибов?
Входные данные
В единственной строке находится единственное натуральное число n (n≤30000).
Выходные данные
В единственной строке вывести через пробел количество грибов перед привалом у Петра, Василия и Николая, соответственно. Гарантируется, что все входные данные корректны.
Тесты
Входные данные
|
Выходные данные |
24 | 13 4 7 |
48 | 26 8 14 |
72 | 39 12 21 |
96 | 52 16 28 |
120 | 65 20 35 |
144 | 78 24 42 |
Код программы
Решение задачи
Представим нашу задачу в форме таблицы, строки которой будут соответствовать грибникам, а столбцы — количеству грибов у соответствующего грибника между обменами:
П.
|
x1 | x2=x1—y1—z1 | x3=2⋅x2 | x4=2⋅x3 |
В.
|
y1 | y2=2⋅y1 | y3=2⋅y2 | y4=y3—x3—z3 |
Н.
|
z1 | z2=2⋅z1 | z3=z2—x2—y2 | z4=2⋅x3 |
По условию задачи x4=y4=z4=n3. Тогда выражением нужных корней и подстановкой известных считаем x1, y1 и z1 начиная с правого столбца и двигаясь налево:
x3=x42=n6 |
z3=z42=n6 |
y3=y4+x3+z3=n3+n6+n6=2⋅n6 |
x2=x32=n12 |
y2=y32=n3 |
z2=z3+y2+x2=n6+n12+n3=7⋅n12 |
y1=y22=n6 |
z1=z22=7⋅n24 |
x1=x2+y1+z1=n12+n6+6⋅n12=13⋅n24 |
Получили ответы: x1=13⋅n24, y1=n6 и z1=7⋅n24. Это и будет количество грибов соответственно у Пети, Васи и Николая в самом начале. Отсюда получаем итоговую формулу решения, указанную в коде программы.
Ссылки
Условие задачи на e-olymp
Код решения на ideone.com