在linux wsl中创建⼀个Shell程序,要求可以处理⼀个输⼊参数,判断该输⼊参数是否为⽔仙花数
时间: 2023-11-27 13:54:04 浏览: 30
在 Linux WSL 中可以使用任何一种 Shell 编程语言来编写程序,比如 Bash、Zsh、Fish 等等。下面以 Bash 为例,给出一个判断输入参数是否为水仙花数的程序。
```bash
#!/bin/bash
# 判断一个数是否为水仙花数
# 水仙花数是指一个 n 位数( n≥3), 它的每个位上的数字的 n 次幂之和等于它本身
# 参数检查
if [[ $# -ne 1 ]]; then
echo "Usage: $0 number"
exit 1
fi
# 获取输入参数
num=$1
# 计算每个位上的数字的 n 次幂之和
sum=0
len=${#num}
for ((i=0; i<len; i++)); do
digit=${num:i:1}
sum=$(($sum + $digit ** $len))
done
# 判断是否为水仙花数
if [[ $sum -eq $num ]]; then
echo "$num is a narcissistic number"
else
echo "$num is not a narcissistic number"
fi
```
使用方法:
1. 将上面的代码保存为一个 `.sh` 文件,比如 `narcissistic.sh`。
2. 将该文件设为可执行权限:`chmod +x narcissistic.sh`。
3. 运行程序并输入参数:`./narcissistic.sh 153`。
如果输入的数字是水仙花数,则会输出 `153 is a narcissistic number`,否则会输出 `153 is not a narcissistic number`。