Programación General > C/C++
numero de digitos
mapechuca:
Hola a todos tengo una opequenia duda con este ejercicio,
Escriba un afuncion iterativa
int numero_digits(int n);
que retorne el numero de digitos de n.
PRECONDICIO:
Se tiene que n>=0
-----------------------------------------------------
lo que hice hasta ahora es lo sgte:
#include<iostream.h>
int numero_digits(int n);
int main();
int n;
cout<<"escriba el digito:"<<endl;
cin>>n;
cout<<"el numero de digitos sera:"<<numero_digits(n)<<endl;
cin.ignore();
cin.get();
return 0;
}
int numero_digits(int n){
return ceil(log10(numero_digits(n)));
}
la parte de definicion es la que me falta. para mi hacer un definicion siempere es lo mas complicado en c++.gracias de antemano por la consulta que puedan brindar, noles pido que me resuelvan el ejercici <_< o!!!!!!!
haidion:
El resto de dividir por 10 te da siempre el último digito de un numero, que deberia ser el primero del numero invertido. Entonces al resto de dividir por 10 lo multiplcas por 10^int(log(n)) y le sumas la funcion aplicada a n/10 y ya esta.
mapechuca:
hola haidion, gracias por la ayuda.......... pero no entendi nada))))
m0skit0:
--- Cita de: "mapechuca" ---pero no entendi nada))))
--- Fin de la cita ---
Pues repasa las mates
diego.martinez:
--- Código: C++ --- int CuentaDigitos(int Numero){ for (e=1;;e++){if (Numero < pow(10,e)) return e;}return 1; }
o , aplicado a cualquier base:
--- Código: C++ --- int CuentaDigitos(int Numero, int Base=10){ for (e=1;;e++){if (Numero < pow(Base,e)) return e;}return 1; } mas simple :good:
Navegación
[#] Página Siguiente
Ir a la versión completa