其实这个题还是比较简单的,就是求余数和求商的问题,关键在于输出的格式问题,eclipse中的\b不起作用,所以只能存入数组,然后总体输出来。
代码如下:
import java.util.Scanner;
import java.lang.Math;
public class hd2010 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
while(scan.hasNext()) {
int m = scan.nextInt();
int n = scan.nextInt();
//int[] sub = {0,0,0}; //用来存放各位数字
int sum = 0; //用来各位数求和
int temp = 0; //用来存放分解数
int total = 0; //用来记录水仙花的个数
int[] Array = new int[1000];
int t = 0;
for(int i=m;i<=n;i++) {
temp = i;
sum = 0;
for(int j=0;j<3;j++) {
sum += Math.pow(temp%10, 3);
temp = temp/10;
}
if(sum == i) {
//System.out.print(sum+" "); //不再这里输出,否则最后的空格由于eclipse的原因退格符\b不起作用
total++;
Array[t] = sum; //存入数组
t++;
}
}
if(total==0)
System.out.println("no");
else { //输出
for(int i=0;i<t-1;i++)
System.out.print(Array[i]+" ");
System.out.println(Array[t-1]);
}
}
}
}