Member 14996974 Ответов: 1

Как я решаю эту проблему, потому что я новичок в программе


We say a number is sparse if there are no adjacent ones in its binary representation. For example, 21 (10101) is sparse, but 22 (10110) is not. For a given input N, find the smallest sparse number greater than or equal to N.

Do this in faster than O(N log N) time.

What I have tried:

dear respected friends i need to know the programs for this task could you teach me method for how to solve it

KarstenK

Главная задача состоит в том, чтобы найти высокоэффективный алгоритм. Поэтому вам нужно найти такой алгоритм.

1 Ответов

Рейтинг:
0

CPallini

Старайтесь усерднее и задавайте конкретные вопросы здесь, когда вы застряли.
Давайте начнем с (относительно) простой задачи: напишите функцию, чтобы проверить, является ли данное число N редкая или нет:

bool is_sparse(int n)
{
  // your checking code here...
}

Попробуйте заполнить его правильным кодом и спросите здесь снова, если у вас есть проблемы.