Scanner sc = new Scanner(System.in);
System.out.println("请输入最小值:");
int min = sc.nextInt();
System.out.println("请输入最大值:");
int max = sc.nextInt();
for (int i = min; i < max; i++) {
int ge = i % 10;
int shi = i/10%10;
int bai = i /100 %10;
int sum = ge*ge*ge+bai*bai*bai+shi*shi*shi;
if(sum == i )
{
System.out.println(i);
}
}
}
} 作者: 别弄那些没的 时间: 2015-9-2 00:32
路过 路过 作者: 天气预报 时间: 2015-9-2 00:38
/*
思路:1、定义一个水仙花数“一个三位数的各个位数的三次方相加等于三位数本身”
2、方法1:定义各个位数的值,通过其特殊性组成一个三位数;(乘法)
方法2:定义一个三位数,通过设定的特殊条件找到此数。(除法)
*/
class Flower
{
public static void fun() //定义一个乘法方法
{
int a=1,b=1,c=1; //定义各个位数的值
for (a=1;a<=9 ;a++ ) //设定百位数循环
{
for (b=0;b<=9 ;b++ ) //设定十位数循环
{
for (c=0;c<=9 ;c++ ) //设定个位数循环
{
int sum=a*100+b*10+c; //定义一个三位数
if (sum==a*a*a+b*b*b+c*c*c) //设定此三位数的特殊条件
{
System.out.println("a="+a+" ,b="+b+" ,c="+c+"\t sum="+sum);
}
}
}
}
}
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 (a*a*a+b*b*b+c*c*c==x) //设定此三位数的特殊条件
{
System.out.println("a="+a+" ,b="+b+" ,c="+c+"\t x="+x);
}
}
System.out.println("***********************");
fun();
}
}