编写一个Shell脚本,使用until循环输出1000以内所有的水仙花数。
时间: 2024-03-20 12:43:46 浏览: 79
好的,以下是一个Shell脚本,可以输出1000以内所有的水仙花数:
```bash
#!/bin/bash
echo "1000以内所有的水仙花数为:"
num=0
until [ $num -eq 1000 ]
do
i=$((num/100)) # 百位数
j=$(((num/10)%10)) # 十位数
k=$((num%10)) # 个位数
if [ $((i*i*i+j*j*j+k*k*k)) -eq $num ]
then
echo $num
fi
num=$((num+1))
done
```
在这个脚本中,我们使用 `until` 循环迭代变量 `num`,从0到999。在每个迭代中,我们将 `num` 拆分成百位数、十位数和个位数,并计算它们的立方和。如果这个立方和等于 `num`,那么 `num` 就是一个水仙花数,我们将其输出即可。
你可以将以上脚本保存为一个 `.sh` 文件,并使用 `chmod +x` 命令赋予执行权限,然后执行该文件即可输出1000以内所有的水仙花数。
阅读全文