<<
final public class Daffodil {
private static final int MIN = 100;
private static final int MAX = 999; private Daffodil() {} public static int[] getAll() {
List result = new ArrayList();
for(int i=MIN; i<=MAX; i++) {
if(isDaffodil(i, splitIntegerToArray(i))) {
result.add(new Integer(i));
}
}
int[] rets = new int[result.size()];
for(int i=0;i<rets.length;i++)
rets[i] = ((Integer)result.get(i)).intValue();
return rets;
} // private :
private static int[] splitIntegerToArray(int i) {
String str = Integer.toString(i);
return new int[]{Integer.parseInt(str.substring(0,1)),
Integer.parseInt(str.substring(1,2)),
Integer.parseInt(str.substring(2,3))};
} private static boolean isDaffodil(int ori, int[] parts) {
return ori == parts[0] * parts[0] * parts[0] +
parts[1] * parts[1] * parts[1] +
parts[2] * parts[2] * parts[2];
}
}
>>
final public class Daffodil {
private static final int MIN = 100;
private static final int MAX = 999; private Daffodil() {} public static int[] getAll() {
List result = new ArrayList();
for(int i=MIN; i<=MAX; i++) {
if(isDaffodil(i, splitIntegerToArray(i))) {
result.add(new Integer(i));
}
}
int[] rets = new int[result.size()];
for(int i=0;i<rets.length;i++)
rets[i] = ((Integer)result.get(i)).intValue();
return rets;
} // private :
private static int[] splitIntegerToArray(int i) {
String str = Integer.toString(i);
return new int[]{Integer.parseInt(str.substring(0,1)),
Integer.parseInt(str.substring(1,2)),
Integer.parseInt(str.substring(2,3))};
} private static boolean isDaffodil(int ori, int[] parts) {
return ori == parts[0] * parts[0] * parts[0] +
parts[1] * parts[1] * parts[1] +
parts[2] * parts[2] * parts[2];
}
}
>>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货