检查阿姆斯特朗数问题的 pow() 问题 [重复]

problem with pow() in checking Armstrong number problem [duplicate]

提问人:Shubhankar Patel 提问时间:11/10/2023 最后编辑:001Shubhankar Patel 更新时间:11/10/2023 访问量:41

问:

当我写在代码中时,答案是正确的。但是当我输入而不是然后我得到的答案是错误的??为什么??lastdigit*lastdigit*lastdigitpow(lastdigit , 3)lastdigit*lastdigit*lastdigit


#include<iostream>
#include<math.h>
using namespace std;

int main(){
    int n ;
    cin>> n;

    int sum = 0 , permanent = n ;

    while(n>0){
        int lastdigit = n % 10 ;
        sum = sum + pow(lastdigit,3);  // here if you type lastdigit*lastdigit*lastdigit the answer that i got is correct , but what is wrong with this method , take sample 153 //
        n = n / 10 ;
    }

    if( sum == permanent ){
        cout<< "arm" ;
    } else {
        cout<< "not arm" ;
    }

    return 0 ;
}
C++ 数字

评论


答: 暂无答案