判断一个数是否水仙花
时间: 2023-12-15 21:06:47 浏览: 81
以下是两种判断一个数是否为水仙花数的方法:
方法一:使用JavaScript
```javascript
function isNarcissisticNumber(num) {
const str = num.toString();
const n = str.length;
let sum = 0;
for (let i = 0; i < n; i++) {
sum += Math.pow(parseInt(str[i]), n);
}
return sum === num;
}
// 示例
console.log(isNarcissisticNumber(153)); // 输出:true
console.log(isNarcissisticNumber(370)); // 输出:true
console.log(isNarcissisticNumber(371)); // 输出:true
console.log(isNarcissisticNumber(407)); // 输出:true
console.log(isNarcissisticNumber(1634)); // 输出:true
console.log(isNarcissisticNumber(8208)); // 输出:true
console.log(isNarcissisticNumber(9474)); // 输出:true
console.log(isNarcissisticNumber(9475)); // 输出:false
```
方法二:使用C语言
```c
#include <stdio.h>
#include <math.h>
int isNarcissisticNumber(int num) {
int a = num / 100; // 百位
int b = num / 10 % 10; // 十位
int c = num % 10; // 个位
int d = pow(a, 3) + pow(b, 3) + pow(c, 3);
return d == num;
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (isNarcissisticNumber(num)) {
printf("%d是水仙花数。\n", num);
} else {
printf("%d不是水仙花数。\n", num);
}
return 0;
}
// 示例
// 输入:153
// 输出:153是水仙花数。
```
阅读全文