您的位置:首页 > 编程语言 > Java开发

java所有N位数之内的自幂数(3位数的自幂数也叫水仙花数)

2014-09-24 17:33 218 查看
public class zimishu
{
public static void main(String args[])
{
//定义多少位数
int l = 7;
//循环定义位数从3到l个
for (int k = 3; k <= l; k++)
{   //根据k的取值来定义范围,k=3,100-1000之内,依次递增
for (int i = (int) Math.pow(10, k - 1); i < Math.pow(10, k); i++)
{
long sum = 0;//必须清零,每次数字都是不一样的
long num = 0;//必须清零,每次数字都是不一样的
//定义数的各个位置的数字,根据k的位数定义数组长度,以免发生溢出异常
int array[] = new int[k];
for (int j = 0; j < k; j++)
{
//通过循环数组求出个十百千等位置上数字并赋值
array[j] = i / (int) Math.pow(10, j) % 10;
sum += Math.pow(array[j], k);//每个位置上幂的总和
num += array[j] * Math.pow(10, j);//每个位置数字组成的数
}
if (sum == num)
{
System.out.print(num + " ");
}
}
}
}
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐