【发布时间】:2016-04-18 13:53:12
【问题描述】:
我希望拆分 integer,因此我可以判断它是 杜德尼数 和/或阶乘数。我做了一个尝试,但感觉它可能会更好,但不知道如何改进它。我要解决的主要问题是为完成任务而编写的代码量。假设输入的数字是 3579。
int number = input.nextInt();
double temp = number;
int counter = 0;
while(temp >1){
temp/=10;
counter++;
}
此代码只是获取数字的长度,因此我可以使数组具有适当的长度。
int[] numberSplitted = new int[counter];
int divisor = (int)Math.pow(10, (counter-1)); // = 1000 in this case
int locationInArray = 0;
while(divisor != 0){
int result = number / divisor; //result = 3579/1000 = 3;
number %= divisor; // number = 3579%1000 = 579;
divisor /= 10; // divisor = 100;
numberSplitted[locationInArray] = result;
locationInArray++;
}
【问题讨论】: