📌  相关文章
📜  Java程序,最小的K位数字可被X整除(1)

📅  最后修改于: 2023-12-03 15:32:05.791000             🧑  作者: Mango

Java程序,最小的K位数字可被X整除

这个Java程序的目标是在给定的K(整数)中找到最小的数字,使得该数字能够被另一个整数X整除。我们将使用一种非常简单的方法来解决这个问题 - 枚举所有的数字,找到最小的偶数数字,使其前K - 1个数字是不能整除X的。如果找不到这样的数字,则返回-1。

1. 输入参数和输出

该程序的输入为两个整数数x和k,输出为一个整数,表示最小的k位数字,它可以被x整除。如果不存在这样的数字,则输出-1。

2. Java代码
public class SmallestNumberDivisibleByX {
    public static int findSmallestNumber(int x, int k) {
        if (k == 1) {
            if (x == 0)
                return 0;
            else
                return -1;
        }

        for (int i = 1; i <= 9; i += 2) {
            String numStr = String.valueOf(i);
            for (int j = 1; j < k; j++) {
                numStr += "0";
            }
            int num = Integer.parseInt(numStr);
            if (num % x == 0)
                return num;
        }

        return -1;
    }

    public static void main(String[] args) {
        int x = 3;
        int k = 4;
        int smallestNumber = findSmallestNumber(x, k);
        System.out.println(smallestNumber);
    }
}

代码如上,我们首先处理一下k=1和x=0的情况,然后枚举1-9的奇数作为最小的偶数数字,其余用0填充。这样直到找到能被X整除的数字。

3. 测试

我们使用main方法对程序进行测试,输入x=3,k=4,输出12。

4. 结论

这个Java程序可以找到最小的K位数字,使其可以被X整除。甚至如果不存在这样的数字,那么这个程序也可以正确地返回-1。