NÚMERO ARMSTRONG

 elaborar un programa que determine cuántos números son de  ARMSTRONG, desde un "n" hasta un "m". Un número es  ARMSTRONG si la suma de los dígitos elevados a la cantidad de  dígitos que lo componen es igual al número. Ejemplo
 1^3 + 5^3 + 3^3 = 153
 nótese que se eleva al "cubo" porque 153 tiene 3 dígitos. Si fuera  1548 sería a la "cuarta".



SOLUCIÓN:
#include<iostream>
#include<cmath>
//utilizar la funciion pow(base,exponente) 

using namespace std; 
int digitos(int x){
    
int cont=0;
    
while(x>0){
        
cont++;
        
x=x/10;
    
}
    
return cont;
} 

int sumaDigitosElevadosCantidadDigitos(int x){
    
int cd=digitos(x);//cantidad de digitos     

    int acum=0;//acumulador     
    while(x>0){
        
acum=acum+pow(x%10,cd);//el digito elevado al cubo         

        x=x/10;
    
}
    
return acum;
} 

void numerosARMSTRONG(int n,int m){
    
    
for(int i=n;i<=m;i++){
        
if(i==sumaDigitosElevadosCantidadDigitos(i))
            
cout<<i<<"\t";//mostrar los numeros  
ARMSTRONG
    }cout<<endl;//salto de linea
} 
int main (int argc, char *argv[]) {
    
int n;
    
int m;
    
cin>>n;//ingresar valor n     

    cin>>m;//ingresar valor m     
    numerosARMSTRONG(n,m);
    
return 0; 

}

Compartir

0 Comment to "NÚMERO ARMSTRONG"

Publicar un comentario