考虑到数学和计算中的数字系统。如何用Java编写程序以列出{2,3,4,5,6,7,8,9,10}的基数/基数和给定的位数(可以是任何数字)的所有数字。因此,输入是上面列出的基础之一和给定基数的位数。如果你像我一样挠头......那么看看我提供的两个链接,这样可以帮助你更好地理解数字系统和基数。
我认为我需要一个循环来遍历所有列出的数字,给定基数X或基数X(输入1)和数字位数(输入#2)。输出应该是仅与基数和位数匹配的数字。
这是我到目前为止所得到的,但我知道 - 我需要帮助。
List<String> baseListpassedDigitChk = new ArrayList<String>();
for (int i = 0; i <= maxCountBase; i++) {
aNumberStg = String.format("%0" + digitCountStg + "d", i);
if (aNumberStg.length() == digitCount) {
baseListpassedDigitChk.add(aNumberStg);
System.out.println(aNumberStg);
}
}
答案 0 :(得分:1)
这是一种方式(未经测试,应该可以工作):
public static void main(String[] args) {
int length = 5; // or any other number > 0
int radix = 10; // or any number from 2 to 10
BruteForceIterator bit = new BruteForceIterator('0', Character.forDigit(radix - 1, 10), length);
while (bit.hasNext()) {
System.out.println(bit.next());
}
}
BruteForceIterator
的实施可以在我对这个问题的回答中找到:Brute Force Algorithm w/Java Passing String Error