编程实现判断用户输入的数字是否是水仙花数。(水仙花数是指一个3位数,它的各位数字的立方和等于它本身。例如:13+5+3=153)
时间: 2024-09-29 14:07:31 浏览: 16
当然,要编写一个JavaScript程序来检查用户输入的数字是否为水仙花数,你可以创建一个函数,该函数接收用户输入作为参数,然后计算并比较各位数字的立方和是否等于原始数字。以下是一个简单的实现:
```javascript
function isNarcissisticNumber(num) {
// 将输入转换成字符串以便逐个获取每一位数字
const strNum = num.toString();
let sum = 0;
// 验证输入是否是3位数
if (strNum.length !== 3) {
return false;
}
// 分割字符串并计算每位数字的立方和
for (let digit of strNum) {
sum += Math.pow(parseInt(digit), 3);
}
// 检查立方和是否等于原始数字
return sum === num;
}
// 示例用法:
const userInput = parseInt(prompt("请输入一个三位数:"));
if (isNarcissisticNumber(userInput)) {
console.log(`${userInput} 是水仙花数`);
} else {
console.log(`${userInput} 不是水仙花数`);
}
```
相关问题
编程实现判断用户输入的数字是否是水仙花数。(水仙花数是指一个3位数,它的各位数字的立方和等于它本身。例如:13+5+3=153)js
在JavaScript中,你可以创建一个函数来判断用户输入的数字是否是水仙花数。以下是一个简单的实现步骤:
```javascript
function is narcissisticNumber(num) {
// 检查数字是否为三位数
if (num < 100 || num > 999) {
return false;
}
// 将数字转换为字符串并获取每一位
let str = num.toString();
let digits = str.split('').map(Number);
// 计算各位数字的立方和
let sumOfCubes = digits.reduce((total, digit) => total + Math.pow(digit, 3), 0);
// 判断结果是否等于原数字
return sumOfCubes === num;
}
// 用户输入测试
let userInput = prompt("请输入一个三位数:");
let result = isNarcissisticNumber(parseInt(userInput));
if (result) {
console.log(`${userInput} 是水仙花数`);
} else {
console.log(`${userInput} 不是水仙花数`);
}
```
这个函数首先检查输入的数字是否符合条件,然后将每个位数提取出来,并计算它们的立方和。如果立方和等于原始数字,则返回`true`,否则返回`false`。
题目:python编写函数fun:判断一个三位数是否“水仙花数”。 编程实现输出所有的水仙花数。 说明:所谓“水仙花数”是指一个3位数,其各位数字立方和 等于该数本身。 例如:153是一个水仙花数,因为153=1+125+27。 输出样例: 153 370 371 407
可以按照题目要求,编写如下的函数和程序。
```python
# 判断一个三位数是否水仙花数
def isNarcissisticNumber(num):
# 将数字转换为字符串,方便获取每一位数字
num_str = str(num)
# 获取每一位数字
a = int(num_str[0])
b = int(num_str[1])
c = int(num_str[2])
# 判断是否为水仙花数
if num == a ** 3 + b ** 3 + c ** 3:
return True
else:
return False
# 输出所有的水仙花数
for i in range(100, 1000):
if isNarcissisticNumber(i):
print(i, end=' ')
```
运行结果为:
```
153 370 371 407
```