用java判断某个整数是否为水仙花数。
mip版 关注:231 答案:3 悬赏:60
解决时间 2021-01-27 05:37
已解决
2021-01-26 08:27
水仙花数是一个三位数,该数各位的立方和等于该数本身。例如153是一个水仙花数,因为153 = 13 + 53 + 33
最佳答案
2021-01-26 09:32
public static Boolean isNarcissisticNumber(int num)
{
if (num > 999) return false;
int oldNum=num;
int[] digits = new int[3];
int i = 0;
while (num>0)
{
digits[i++] = num % 10; //提取每一位
num /= 10;
}
if (Math.Pow(digits[0], 3) + Math.Pow(digits[1], 3) + Math.Pow(digits[2], 3) == oldNum)
return true;
return false;
}
//用C#写了一个,助楼主学习进步,生活愉快。
全部回答
1楼
2021-01-26 11:04
import java.util.*;public class daffodilnumber {public static void main(string[] args) {scanner scan = new scanner(system.in);// 接收控制台输入信息system.out.print("请输入一个整数:");try {int num = scan.nextint();// 取出控制台输入的信息if (isdaffodilnumber(num)) {// 调用isdaffodilnumber()方法system.out.println(num + "是水仙花数!");// 否则,输出不是水仙花数}} catch (exception e) {system.out.println("必须输入整数");// 捕捉异常,输入的必须为整数,若否,输出必须输入整数}}// 用于判断一个整数是否是水仙花数public static boolean isdaffodilnumber(int i) {boolean flag = true;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) {// 若各位数字立方和不等于该数本身flag = false;// 返回false}return flag;}}
2楼
2021-01-26 10:04
public static Boolean isNarcissisticNumber(int num) {
if (num > 999)
return false;
int oldNum = num;
int[] digits = new int[3];
int i = 0;
while (num > 0) {
digits[i++] = num % 10; // 提取每一位
num /= 10;
}
if (Math.pow(digits[0], 3) + Math.pow(digits[1], 3)
+ Math.pow(digits[2], 3) == oldNum)
return true;
return false;
}
pow()函数p应该小写
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看