什么是水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:4^3 + 0^3+ 7^3 = 407)
代码部分
#!/bin/bash
#作者 青山
#脚本内容为自己编写
i=100
while [ $i -lt 1000 ]
do
#a用来指代一个百位数的百位上的数字,i对100取整,就只剩下百位上的数字
a=$[$i/100]
#b用来指代一个百位数的十位上的数字,例如一个百位数是141,141对10取整是14,再减去百位上的数字乘以10的积,14-(1*10)=4
b=$[$i/10-10*a]
#c用来指代一个百位数的个位上的数字,例如一个百位数是157,157对10取余数是7
c=$[$i%10]
#d用来指代百位、十位、个位数的三个数的幂之和
d=$[a*a*a+b*b*b+c*c*c]
#判断如果此时i等于d,则输出此时的i的值
if [ $i -eq $d ];then
echo "$i是水仙花数"
echo "百位的值是:$a,十位的值是:$b,个位数是:$c,三个数的幂之和是:$d,i的值是:$i"
fi
let i++
done
运行示例
运行的路径是脚本存放的路径