Я пытаюсь найти алгоритм для подсчета от 0 до 2 n -1, но их битовая комбинация поменялась местами. Я забочусь только о LSB слова. Как вы уже догадались, я потерпел неудачу.
Для n = 3:
000 -> 0
100 -> 4
010 -> 2
110 -> 6
001 -> 1
101 -> 5
011 -> 3
111 -> 7
Вы поняли идею.
Отлично, ответы в псевдокоде. Фрагменты кода на любом языке приветствуются, предпочтительны ответы без битовых операций.
Пожалуйста, не размещайте фрагмент без краткого объяснения или указателя на источник.
Edit: я забыл добавить, у меня уже есть наивная реализация, которая просто инвертирует переменную count. В некотором смысле этот метод на самом деле не считается.