我需要java中的一个函数,它给出一个(int length)作为输入,并用' 0'打印所有可能的字符串。和' 1'字母。 这不是排列,因为0 s和1 s的数量在每个可能的字符串中是不同的 示例:length = 3
答案 0 :(得分:3)
您可以尝试使用2^N
(N
可以作为长度)。然后将0-2^N
转换为二进制并使用适当的二进制格式。你可以拥有你想要的东西。
第一步 - 获取2^N
double twosPow = Math.pow(2, occurrence);
现在从0
迭代到twosPow
。并将数字转换为二进制
第二步 - 如何将int转换为二进制?
Integer.toBinaryString(k); // 0<=k< twosPow
第三步格式二进制
String.format("%" + length + "s",binary).replace(" ", "0")