📅  最后修改于: 2023-12-03 15:16:38.293000             🧑  作者: Mango
这是一个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是输入数字的位数。