用shell命令写一个水仙花素
时间: 2024-08-14 16:09:44 浏览: 41
bash shell命令(一)
5星 · 资源好评率100%
当然可以。水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
以下是使用Shell脚本来检查一个整数是否为水仙花数的一个简单示例:
```bash
#!/bin/bash
# 定义函数来计算数字的立方和
is_narcissistic_number() {
num=$1
sum=0
digits=$(echo $num | rev | cut -d' ' -f1)
while [ "$digits" != "" ]; do
digit=$((digits % 10))
sum=$((sum + (digit ** 3)))
digits=$((digits / 10))
done
if [ "$num" == "$sum" ]; then
echo "是水仙花数"
else
echo "不是水仙花数"
fi
}
# 输入一个三位数进行检查
read -p "请输入一个三位数:" input
if [[ ${input//[^0-9]/} =~ ^[0-9]{3}$ ]]; then
is_narcissistic_number $input
else
echo "输入无效,需要一个三位数。"
fi
```
你可以复制上述代码到一个名为`narcissistic.sh`的文件,然后运行`bash narcissistic.sh`并按照提示输入一个三位数。
阅读全文