当前位置: 首页 > 面试题库 >

Java:通过给出数字N来生成真与假组合;

壤驷喜
2023-03-14
问题内容

我致力于尽可能简化任务,因此可以将其应用于我的算法。

这是数学家和程序员面临的挑战:

我需要创建一个传递参数int n的方法:

public void optionality_generator(int n){
  //some kind of loops, or recursions...to make it workable
  System.out.println("current combination: ...");
}

输出应显示true和false的所有可能组合。

这是N = 1的示例;N = 2;N = 3;N = 4;N = 5,其中x = false,0 =
true;请注意,空的换行仅是您容易识别的模式。希望我包括了所有可能的组合):

Combination of 1:
0
x

Combination of 2:
00
x0
0x
xx

Combination of 3:
000
X00
0X0
00X
XX0
0XX
XXX

Combination of 4:
0000

X000
0X00
00X0
000X

XX00
X0X0
X00X

0XX0
0X0X

00XX

XXX0
XX0X
X0XX
0XXX

XXXX

Combination of 5:
00000
X0000
0X000
00X00
000X0
0000X

XX000
X0X00
X00X0
X000X

X0X00
X00X0
X000X

0XX00
0X0X0
0X00X

00XX0
00X0X

000XX

XXX00
XX0X0
XX00X

X0XX0
X0X0X
X00XX

0XXX0
0XX0X

00XXX

XXXX0
XXX0X
XX0XX
X0XXX
0XXXX

XXXXX

另外,如果您看到输出,这是我识别的模式,所有组合都翻转为一半(例如,第一个组合为00000,最后一个组合为XXXXX,第二个为X0000,最后一个组合之前为0XXXX,依此类推。)
。也许,这种模式将有助于使整个算法更有效,对此不确定。先感谢您!


问题答案:

这是仅使用Java API的真正基本方法:

final int n = 3;
for (int i = 0; i < Math.pow(2, n); i++) {
    String bin = Integer.toBinaryString(i);
    while (bin.length() < n)
        bin = "0" + bin;
    System.out.println(bin);
}

结果:

000
001
010
011
100
101
110
111

当然,您可以设置n为任何您喜欢的。并且,使用此结果,您可以n从字符串中选择第th个字符作为true / false。

如果仅需要检查是否为真,则无需将其转换为字符串。这只是为了说明输出值。



 类似资料:
  • 我很难想出一个代表以下JSON的类。“家庭关系”是一组数组。每个数组都有person1和person2标识符,以及person1和person2之间的关系。正如您可能已经猜到的,数组中值的顺序非常重要。例如,如果“12345”和“31142”位置切换,则表示“31142”是“12345”的父项,这是完全错误的。

  • 谁能告诉我这个密码是什么?我尝试了所有方法,但不知道为什么它总是给我这个错误: 第3行出现解析错误:...","简称":"简单","长" - 应为“STRING”、“NUMBER”、“NULL”、“TRUE”、“FALSE”、“{”和“[” 谢谢

  • 本文向大家介绍JavaScript函数采用数字n并生成前n个素数的数组,包括了JavaScript函数采用数字n并生成前n个素数的数组的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个JavaScript函数,该函数接受数字n,并返回包含前n个质数的数组。我们知道素数是只能被1整除的数,例如2、3、19、37、73等。 我们将首先编写一个检查给定数是否为质数的函数,然后运行循环以生成n个质

  • 问题内容: 给定大小数组,我想为每个索引生成随机概率,这样 一种可能的结果可能是: 另一个完全合法的结果可能是: 我怎样才能轻松快捷地生成这些?任何语言的答案都可以,最好是Java。 问题答案: 您要完成的任务无异于从N维单位单纯形中绘制随机点。 http://en.wikipedia.org/wiki/Simplex#Random_sampling可能会对您有所帮助。 一个幼稚的解决方案可能如下

  • partitioningBy收集器将谓词应用于流中的每个元素,并生成一个从布尔值到流中满足或不满足谓词的元素列表的映射。例如: 正如在PartitionBy的目的是什么中所讨论的,观察到的行为是PartitionBy总是返回一个包含true和false条目的映射。例如。: 这种行为真的是在某个地方指定的吗?Javadoc只说: 返回一个收集器,该收集器根据谓词对输入元素进行分区,并将它们组织到

  • 我现在有这个可以用的 我想添加一个条件,在这里我只会出售时,购买是虚假的如下,但它没有工作 为什么它不工作? 有什么建议吗?非常感谢。