关于水仙花数在前面一篇中已经有介绍,判断任意控制台输入十进制数是否为水仙花数(C++)
以下为Java代码
import java.util.Scanner; public class AmstrongNumber { /** * @param args */ long num=this.input(); long number=num;//用于记录最后结果 long check=0; long remainder=0; int digit=0; //定义输入 public long input() { Scanner sc=new Scanner(System.in); long num=sc.nextLong(); return num; } //计算是否符合条件 public void cal() { //count the digits,计算位数 for(long n=num;n>0;digit++) { n=n/10; }
//分别计算每一位的幂次方 while(number>0) { remainder=number%10; check=(long) (check+Math.pow(remainder,digit)); number=number/10; } //如果结果和原数一样 if(check==num) { System.out.println(num+" "+"is an Armstrong Number"); } else { System.out.println(num+" "+"is NOT an Armstrong Number"); } } }