一个整数的每个位上的数字的 n 次幂之和等于它本身。
解决方案 »
- java的commons-net包使用FTP上传和下载的文件损坏,打不开
- 这样的泛型怎么理解?
- JTextArea支持系统快捷键的问题, 30分
- 请教for(String dirItem : list)
- 为什么serialize“序列化”时,会抛出异常?
- swing中dragEnter的问题
- 你们公司用什么开发工具
- 哪位大侠有JExcelAPI或POI什么的,立即给分!!!!!!
- 如果防止JDialog被改变大小
- JBuilder 或 Jdk 中的 javax.media.* 包呢?(( 急!!! !!!!))
- 哪有比较多的java 源码下载???或者有源码观赏??
- 用java在sqlserver中创建一张表出现奇怪的问题
package test;public class TestPower { public static void main(String[] args) {
int mi = 3;
int n = 100000;
System.out.println("--------------" + mi + "次幂--------------");
//打印所有小于n的证书,并且每个位上的数字的 mi次幂之和等于它本身的整数。
for (int i = 0; i < n; i++) {
if (power(i, mi)) {
System.out.println(i);
}
}
} // n表示这个数,mi表示mi次幂,如n=123,mi=2:n!=1^2+2^2+3^2
public static boolean power(int n, int mi) {
char[] arrInt = split(n);
int k = 0;
for (int i = 0; i < arrInt.length; i++) {
k = k + (int) Math.pow(Character.digit(arrInt[i],10), mi);
}
//System.out.println("k=" + k);
if (n == k) {
return true;
} else {
return false;
} } public static char[] split(int n) {
String str = Integer.valueOf(n).toString();
return str.toCharArray();
}}