publicstaticbooleanisNarcissisticNum(int i) { // 完成本函数里面的代码 int a, b, c; a = i % 10; b = i % 100 / 10; c = i / 100; return i == Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3); }
判断一个数是否是完全数
一个数如果恰好等于它的因子之和,这个数就称为「完全数」
找因子,求和,根据定义判断。
1 2 3 4 5 6 7 8 9 10
publicstaticbooleanPerfectnumber(int i) { // 完成本函数里面的代码 intsum=1; int j; for (j = 2; j < Math.sqrt(i); j++) if (i % j == 0) { sum += j + i / j; } return i == sum; }
计算 n 的阶乘(n >= 0,且结果不会超出整数范围)
直接计算。
1 2 3 4 5 6 7
publicstaticintfactorial(int n) { intpro=1; int i; for (i = 2; i <= n; i++) pro *= i; return pro; }
/** * 判断一个数是否是水仙花数, * 所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 * 难度系数2星 * @param i * @return */ publicstaticbooleanisNarcissisticNum(int i) { // 完成本函数里面的代码 int a, b, c; a = i % 10; b = i % 100 / 10; c = i / 100; return i == Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3); }
/** * 判断一个数是否是完全数,如果不清楚完全数,可以百度 * 一个数如果恰好等于它的因子之和,这个数就称为 "完全数 "。 * 难度系数2星 * @param i * @return */ publicstaticbooleanPerfectnumber(int i) { // 完成本函数里面的代码 intsum=1; int j; for (j = 2; j < Math.sqrt(i); j++) if (i % j == 0) { sum += j + i / j; } return i == sum; }
/** * 计算n的阶乘(n>=0,且结果不会超出整数范围) * @param n * @return */ publicstaticintfactorial(int n) { intpro=1; int i; for (i = 2; i <= n; i++) pro *= i; return pro; }