Ну вот что-то такое вырисовывается, надо будет ещё проверить.
Пусть имеется 

 фальшивых монет. Способ работает при 

. Представим количество монет в виде 

, где 
 
 
Отложим в сторону кучку в 

 монет, с остальными перейдём к начальному шагу.
Начальный шаг. Если есть кучка A, о которой известно, что в ней не более 

 фальшивых, делим её пополам на B и C и сравниваем.
1. =. В любой из B и C не более 

 фальшивых.
1.1. Если 

 в кучке A все монеты настоящие. Смотрим на результат сравнения с первой надкучкой выше по цепочке сравнений, где было неравенство. Если везде равенство, надо сравнивать с остатком.
1.2. Если 

 берём кучку B и переходим к начальному шагу.
2. <>. Разделим кучку B пополам и сравним.
2.1. =. Действуем аналогично п. 1.
2.2. <>. В кучке B есть фальшивые. Значит, в кучке C их не более, чем 

 (0, если 

). Если 

 или 

, результат известен. Иначе берём кучку C и переходим к начальному шагу.
Если не ошибаюсь, общее количество сравнений не превысит 
