shell水仙の数を求めます

819 ワード

水仙の花数(100-999).水仙の花の数は1つの3桁の数を指して、その各桁の上の数字の3回のべき乗の和はそれ自身に等しいです
c++コード
int i=100;
while(i<=999){
    int sum=0;
    int temp=i;
    int k=0;
    while(temp!=0){
        k=temp%10;
        sum=sum+k*k*k;
        temp=temp/10;
    }
    if(sum==i){
        cout<

shellコード
# @author sugar
# time  2020  01  01      22:33:59 CST
#     

i=100
#           (100 - 999)
while [ $i -le 999 ]
do
    declare -i sum=0    #  3        
    declare -i temp=$i  #       
    declare -i k=0      #          
    while [ temp -ne 0 ]
    do
        k=$(($temp % 10))
        temp=$(($temp/10))
        sum=$(($sum+$k*$k*$k))
    done
    #           
    if [ $sum -eq $i ]
    then
        echo  -e "$sum \c"
    fi
    # i++
    i=$(($i + 1))
done