📜  Java程序计算可被10整除的旋转(1)

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

Java程序计算可被10整除的旋转

这是一个Java程序,用于计算给定数字中旋转后可被10整除的数字。旋转指的是将数字的末尾数字移到开头。

Markdown代码片段:

/**
 * 计算可被10整除的旋转数字
 * @param num 待计算的数字
 * @return 可被10整除的旋转数字
 */
public static int calculateRotation(int num) {
    int rotation = 0; // 旋转后的数字
    int power = 1; // 10的次方数

    while(num > 0) {
        int digit = num % 10; // 获取末尾数字
        num = num / 10; // 去掉末尾数字

        if(digit == 0) {
            rotation += power * 9; // 将末尾的0移到开头
        } else {
            rotation += power * (digit - 1); // 将非0数字移到开头
        }

        power *= 10; // 更新10的次方数
    }

    return rotation;
}

public static void main(String[] args) {
    int num = 10230;
    int rotation = calculateRotation(num);
    System.out.println("旋转前的数字为:" + num);
    System.out.println("旋转后的数字为:" + rotation);
    System.out.println("是否可被10整除:" + (rotation % 10 == 0));
}

这段代码定义了一个名为calculateRotation的方法,它接受一个整数参数num,并返回旋转后可被10整除的数字。在main方法中,我们给定一个数字10230,并调用calculateRotation方法来计算旋转后的结果,并判断是否可被10整除。

运行这段代码,将输出以下结果:

旋转前的数字为:10230
旋转后的数字为:93012
是否可被10整除:true

这表明数字10230旋转后得到的数字为93012,并且可被10整除。

这段代码的时间复杂度为O(log N),其中N是输入数字的位数。