给定数字系统,如何列出给定数字(基数)和数字位数的所有数字

时间:2013-03-09 15:38:11

标签: java

考虑到数学和计算中的数字系统。如何用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);
    }
}

1 个答案:

答案 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