Ну вот что-то такое вырисовывается, надо будет ещё проверить.
Пусть имеется
![$k$ $k$](https://dxdy-03.korotkov.co.uk/f/6/3/b/63bb9849783d01d91403bc9a5fea12a282.png)
фальшивых монет. Способ работает при
![$N\geqslant 2^{k+1}$ $N\geqslant 2^{k+1}$](https://dxdy-03.korotkov.co.uk/f/e/8/a/e8a2806561f4f366ce16276960ca9e7a82.png)
. Представим количество монет в виде
![$N=p\cdot 2^{k+1}+r$ $N=p\cdot 2^{k+1}+r$](https://dxdy-04.korotkov.co.uk/f/b/4/e/b4e0af15b2f3c3ba0afeffca2d151ddd82.png)
, где
![$p>0.$ $p>0.$](https://dxdy-04.korotkov.co.uk/f/3/8/c/38c34f0ca69d4a0ccc94d6ee1016c13f82.png)
Отложим в сторону кучку в
![$r$ $r$](https://dxdy-01.korotkov.co.uk/f/8/9/f/89f2e0d2d24bcf44db73aab8fc03252c82.png)
монет, с остальными перейдём к начальному шагу.
Начальный шаг. Если есть кучка A, о которой известно, что в ней не более
![$x$ $x$](https://dxdy-04.korotkov.co.uk/f/3/3/2/332cc365a4987aacce0ead01b8bdcc0b82.png)
фальшивых, делим её пополам на B и C и сравниваем.
1. =. В любой из B и C не более
![$\lfloor \frac{x}{2} \rfloor$ $\lfloor \frac{x}{2} \rfloor$](https://dxdy-03.korotkov.co.uk/f/e/8/6/e86cbb71ba7acfc28b801e99a790b3f282.png)
фальшивых.
1.1. Если
![$\lfloor \frac{x}{2} \rfloor=0,$ $\lfloor \frac{x}{2} \rfloor=0,$](https://dxdy-01.korotkov.co.uk/f/4/9/d/49dff4066bd262e03f8b88cb7462448382.png)
в кучке A все монеты настоящие. Смотрим на результат сравнения с первой надкучкой выше по цепочке сравнений, где было неравенство. Если везде равенство, надо сравнивать с остатком.
1.2. Если
![$\lfloor \frac{x}{2} \rfloor>0,$ $\lfloor \frac{x}{2} \rfloor>0,$](https://dxdy-04.korotkov.co.uk/f/7/4/a/74ad6e1eb358fba0c8bfec7a508fe65882.png)
берём кучку B и переходим к начальному шагу.
2. <>. Разделим кучку B пополам и сравним.
2.1. =. Действуем аналогично п. 1.
2.2. <>. В кучке B есть фальшивые. Значит, в кучке C их не более, чем
![$x-1$ $x-1$](https://dxdy-03.korotkov.co.uk/f/6/e/2/6e2a027fd5d65c9f49f111b1fa539e7a82.png)
(0, если
![$x=2$ $x=2$](https://dxdy-04.korotkov.co.uk/f/3/5/f/35f90009ee25795d1c7343df953d384582.png)
). Если
![$x=1$ $x=1$](https://dxdy-04.korotkov.co.uk/f/f/4/1/f41f51aeb9528548f1409a3a0ec6164082.png)
или
![$x=2$ $x=2$](https://dxdy-04.korotkov.co.uk/f/3/5/f/35f90009ee25795d1c7343df953d384582.png)
, результат известен. Иначе берём кучку C и переходим к начальному шагу.
Если не ошибаюсь, общее количество сравнений не превысит
![$2k-1.$ $2k-1.$](https://dxdy-04.korotkov.co.uk/f/f/8/2/f8232a730bf6d64c7d612b24c7893eae82.png)