在C中打印32位数的所有序列的函数

时间:2015-01-30 10:26:44

标签: c binary numbers permutation

很抱歉这个问题,但我正在尝试优化打印所有32位数序列的C函数,例如序列中的每个数字都是0或1,例如:

00000000000000000000000000000000 ... 01010101010101010101010101010101 ... 01000000010000000100000001000000

我确实提出了一个解决方案,但它有3个for循环嵌套在一起而且非常耗时,我想知道是否可以使用更简单的算法。

感谢您的帮助

Andrea

大家好,谢谢你的答案:)最后我在你的帮助下使用了解决方案:

void binary_permutation(void) {

unsigned int i=0;
char str[32];

do{
    itoa(i++, str, 2);

        printf("binary: %s\n", str);
}
while (i);

}

再次感谢

安德烈

1 个答案:

答案 0 :(得分:0)

你可以使用递归或回溯,它可以为你节省嵌套循环的所有痛苦(是的,这个函数需要时间来运行!) This article很好地解释了这一点。 祝你好运!