1我正在制作一个用Java输入密码的“虚拟键盘”。
密码必须有6个数字字符和每个按钮有两个可能的值。因此,每个按下的键都有两个可能的值。
例如:在按下6个按钮后,我有一个由6个对象组成的数组,每个对象分别表示密码的每个字符的可能值:
(1,5)用于char1
(3,2)用于char2
(7,4)用于char3
(1,5)用于char4
(9,0)用于char5
(8,6)用于char6
我如何使所有的6位数字字符串与这些条目组合?(我猜这将是64个组合: 2ˆ6)
有效组合示例:
137198
537198
127198
537196
等等..。
发布于 2014-04-11 19:56:16
给定n个按钮的序列,其中每个按钮可以假设2个值,这个问题将从0减少到2^n-1,因为您可以将每个位置I处的每个位解释为每个按钮可以假设的两个值之一。对于n=3:
000 -> 137
001 -> 134
010 -> 127
011 -> 124
100 -> 537
...所以,只要数到2^6,你就会自动得到你的解。
这与生成一组n个元素的2^n子集的方式相同。
发布于 2015-06-28 22:45:08
只需创建所有可能的组合,并检查它们是否正确。
https://stackoverflow.com/questions/23021180
复制相似问题