黑马程序员技术交流社区
标题:
一个小运算
[打印本页]
作者:
盛光富
时间:
2012-4-17 23:08
标题:
一个小运算
打印出所有的"水仙花数"。
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
class Lesson4
{
public static void main(String[] args)
{
for(int x=100;x<=999;x++)
{
int a=x/100;
int b=x/10%10;
int c=x%10;
if(x==a*a*a+b*b*b+c*c*c)
{
System.out.println(x);
}
}
以上方法是我自己想出来的,虽然得到想要的答案但是感觉不够严谨,各位有没有更好的
作者:
王永旺
时间:
2012-4-17 23:35
本帖最后由 王永旺 于 2012-4-17 23:37 编辑
感觉楼主这个方法还是比较严谨的,没什么问题。另外想到了另外一种解决办法,开阔一下思路吧。
public class Demo{
public static void main(String[] args){
int num=0;
for(int i=1;i<9;i++){
for(int j=0;j<9;j++){
for(int k =0;k<9;k++){
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){
num++;
System.out.println((i*100+j*10+k)+"是第"+num+"个水仙花数");
}
}
}
}
}
}
复制代码
作者:
张卯
时间:
2012-4-18 00:46
这个题我发过~给你个更简单的~
public class ShuiXianHua
{
public static void main(String[] args)
{
for(int i=1; i<=10000; i++)
{
int a = i/100;
int b = i/10%10;
int c = i%10;
if(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==i)
System.out.println(i+"是水仙花数");
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2