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;
}
0 Comment to "NÚMERO ARMSTRONG"
Publicar un comentario