Linux shell编程求3位数水仙花数

4年以前  |  阅读数:404 次  |  编程语言:Shell 

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。

#!/bin/bash
for ((a=1;a<10;a++))
do
    for((b=0;b<10;b++))
    do
        for((c=0;c<10;c++))
        do
             p=$((a*100+b*10+c))
             q=$((a**3+b**3+c**3))
             if [ $p -eq $q ];then
                 echo "$p"
             fi
         done
     done
done

执行后会输出:153,370,371,407

 相关文章:
请判断一个数是不是水仙花数。
python实现水仙花数
实现水仙花数的5个示例
Linux shell编程求3位数水仙花数
JS判断一个数是否是水仙花数
JS--水仙花数
Go语言之水仙花数