水仙花数
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
0
-
描述
-
请判断一个数是不是水仙花数。
其中水仙花数定义各个位数立方和等于它本身的三位数。-
输入
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)
输入0表示程序输入结束。
输出
-
如果n是水仙花数就输出Yes
否则输出No
样例输入
-
153 154 0
样例输出
-
Yes No
-
import java.util.Scanner; public class Main { <span style="white-space:pre"> </span>public static void main(String[] args) { <span style="white-space:pre"> </span>Scanner s = new Scanner(System.in); <span style="white-space:pre"> </span>int i=0; <span style="white-space:pre"> </span>int[] num = new int[100]; <span style="white-space:pre"> </span>int[] num1 = null; // 有效数组 <span style="white-space:pre"> </span>while (true) { <span style="white-space:pre"> </span>num[i] = s.nextInt(); <span style="white-space:pre"> </span>if(num[i]==0){ <span style="white-space:pre"> </span>break; <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>i+=1; <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>int size = 0; <span style="white-space:pre"> </span>for (int j = 0; j < num.length; j++) { // 判断有效数字长度 <span style="white-space:pre"> </span>if(num[j]!=0){ <span style="white-space:pre"> </span>size++; <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>num1 = new int[size]; <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>for (int j = 0; j < num1.length; j++) { // 将有效数字放到另一个数组 <span style="white-space:pre"> </span>num1[j] = num[j]; <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span> <span style="white-space:pre"> </span>for (int j = 0; j < num1.length; j++) { <span style="white-space:pre"> </span>int a= num1[j]/100;<span style="white-space:pre"> </span>// 求百位 <span style="white-space:pre"> </span>int b= num1[j]%100/10;<span style="white-space:pre"> </span>// 求十位 <span style="white-space:pre"> </span>int c= num1[j]%10;<span style="white-space:pre"> </span>//求个位 <span style="white-space:pre"> </span>if((a*a*a)+(b*b*b)+(c*c*c)==num1[j]){ <span style="white-space:pre"> </span>System.out.println("Yes"); <span style="white-space:pre"> </span>}else{ <span style="white-space:pre"> </span>System.out.println("No"); <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>} }
-
有多组测试数据,每组测试数据以包含一个整数n(100<=n<1000)