Найти ранг числа на основе количества единиц

Пусть f (k) = y, где k - y-е число в возрастающая последовательность неотрицательных целых чисел с тем же количеством единиц в двоичном представлении, что и k, например f (0) = 1, f (1) = 1, f (2) = 2, f (3) = 1, f (4) = 3, f (5) = 2, f (6 ) = 3 и так далее. Если k> = 0, вычислить f (k)

многие из нас видели этот вопрос

1 решение этой проблемы, чтобы категоризировать числа на основе количества единиц, а затем найти ранг. I действительно нашел некоторые закономерности, работающие таким образом, но это будет длительный процесс. может ли кто-нибудь предложить мне лучшее решение?

9
задан Steve Jessop 28 October 2011 в 17:45
поделиться