1.什么是水仙花数:? ? ?
? ? ? ? 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
2.程序要求:
? ? ? ?输出100-999之间的所有水仙花数,
?3.代码部分:
public class demo2{
?? ?public static void main(String[] args) {
?? ??? ?for(int i=100;i<999;i++) { ? ? ? ? ? ?//找寻100-999之中的水仙花数
?? ??? ??? ?int a=i/100; ? ? ? ? ? ? ? ? ? ? ?//将百位数字提取出来
?? ??? ??? ?int b=(i-a*100)/10; ? ? ? ? ? ? ? //将十位数字提取出来
?? ??? ??? ?int c=i-a*100-b*10; ? ? ? ? ? ? ? //将个位数字提取出来
?? ??? ??? ?int result=a*a*a+b*b*b+c*c*c;
?? ??? ??? ?if(result == i) {
?? ??? ??? ??? ?System.out.println(result); ? //输出水仙花数
?? ??? ??? ?}
?? ??? ?}
?? ?}
}
4.总结:
? ? ? ? ?编写该程序的时候,要将百位,十位和个位上的数字提取出来。提取的时候,因为int是整数型,所以只看小数点之前的数字,所以才能成功将各个位置上的数字提取出来。
|