黑马程序员技术交流社区
标题:
你可否知道N仙花数?
[打印本页]
作者:
蓝七
时间:
2015-4-29 21:03
标题:
你可否知道N仙花数?
class N仙花数
{
/*
水仙花数并不陌生,满足这样的3位数,153=1*1*1+5*5*5+3*3*3。有几个呢?4个,153,370,371,407。
那有没有这样的,abcd=a^4+b^4+c^4+d^4? abcde=a^5+b^5+……
请注意,3位数的3次幂,5位数的是5次幂。我不会告诉你92727=9^5+2^5+7^5+2^5+7^5 的。
*/
public static void main(String[] args)
{
for (int x=100;x<10000000 ;x++ )//遍历x的范围
{
int count=1;
for (int y=x;y/10!=0 ;y=y/10 )//用来判断数据是几位数,用count存储。
{
count++;
}
int num=x;
double result=0;
for (;num/10!=0 ;num=num/10 )//遍历数据,从个位到最高减一位。
{
result=result+Math.pow((num%10),count);//累加各个位上count次幂之和,不包括最高位。
}
result=result+Math.pow((num%10),count);//加上最高位的。
if (x==result)//判断是否符合N仙花数规则,符合则输出当前数据的位数和数据。
{
System.out.print(count+"仙花数"+"\t");
System.out.println(x+"\t");
}
}
}
}//为了2个技术分我也是拼了。。。
作者:
王英明
时间:
2015-4-29 21:07
呵呵呵,抢地主了!动作真快
作者:
zhubingg
时间:
2015-4-29 21:17
不错不错! 搞了一下午 还可以把!
作者:
bboyXiaoNuo
时间:
2015-4-29 21:22
今天刚学到,好厉害好厉害
作者:
崔小可
时间:
2015-4-29 21:33
今天刚学到,好厉害好厉害,向你学习这种研究的精神!!
作者:
ayl648989
时间:
2015-4-29 21:37
好厉害好厉害,向你学习这种研究的精神!
作者:
andre
时间:
2015-4-29 21:39
今天视频看到这里了
作者:
雪风飞花
时间:
2015-4-29 21:42
刚学过,看楼主貌似忘写思路了
作者:
严晗哲
时间:
2015-4-29 22:03
才发觉原来不止立方的可以啊~
作者:
黄敬璇
时间:
2015-4-29 22:06
思维拓展能力好强啊
作者:
nine789
时间:
2015-4-29 22:19
最简单的 水仙花 是这样的
/*
打印出所有的"水仙花数"。
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
思路:
A:"水仙花数"是指一个三位数,告诉我们范围了。100-999
B:153=1的三次方+5的三次方+3的三次方通过这个例子
一个数据的个位立方+十位立方+百位立方=该数据
C:如何获取个位,十位,百位的数据?
对于任意的数据x。获取个位怎么办呢?
153:
个:153%10 = 3
十:153/10%10 = 5
百:153/10/10%10 = 1
千:x/10/10/10%10 -- .........
*/
class FlowerDemo
{
public static void main(String[] args)
{
for(int x=100; x<1000; x++)
{
//x就是任意数据
int ge = x%10;
int shi = x/10%10;
int bai = x/10/10%10;
if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==x)
{
System.out.println(x);
}
}
}
}
复制代码
同理:
问: 请输出满足这样条件的五位数。
个位=万位
十位=千位
个位+十位+千位+万位=百位
class Demo13
{
public static void main(String [] args)
{
for (int x=10000;x<=99999 ;x++ )
{
int a=x%10;
int b=x/10%10;
int c=x/10/10%10;
int d=x/10/10/10%10;
int e=x/10/10/10/10%10;
//int f=
if (a==e && b==d && a+b+d+e==c)
{
System.out.println(x);
}
}
}
}
复制代码
作者:
xfliyy
时间:
2015-4-29 22:37
学习了:L
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2