Título: Buscar el número con más ceros en un intervalo Publicado por: siuxoes en 15 Diciembre 2013, 11:32 am Hola, tengo un problema al buscar el número que más ceros tenga en un intervalo concreto. Para hacer esto he tenido que hacer una función que calcule el número de ceros. Estoy usando recursividad. Aquí les dejo todo lo usado:
La clase intervalo: Código: class Intervalo { int ppo; int fin; Intervalo () { } Intervalo (int m, int n) { ppo = m; fin = n; } } La función que calcula el número de ceros: Código: int cuantosCeros(int n) { if(n<10 && n!=0) return 0; else if(n<10 && n==0) return 1; else if (n%10==0) return 1 + cuantosCeros(n/10); else return cuantosCeros(n/10); } Y aquí viene mi problema, tengo que crear dos funciones una principal y otra auxiliar que busquen lo dicho antes. Mi función principal: Código: int mayorCantidadCerosAux (Intervalo d, int i) { if(i==0) return 0; } Mi función auxiliar: Código: int mayorCantidadCeros (Intervalo d) { return mayorCantidadCerosAux (d, d.fin); } No tengo ni idea de como seguir. Título: Re: Buscar el número con más ceros en un intervalo Publicado por: Nasty35 en 15 Diciembre 2013, 16:10 pm Para saber el número de 0, puedes calcular Logaritmos de base 10.
Math.log10(1000); Devuelve 3. Sería un logaritmo 1000 de base 10 es 3. Es una manera de expresar 10 ^ 3 = 1000 Si elevas n a 10, se le añaden n 0 al 1. Título: Re: Buscar el número con más ceros en un intervalo Publicado por: siuxoes en 15 Diciembre 2013, 16:56 pm Para saber el número de 0, puedes calcular Logaritmos de base 10. Math.log10(1000); Devuelve 3. Sería un logaritmo 1000 de base 10 es 3. Es una manera de expresar 10 ^ 3 = 1000 Si elevas n a 10, se le añaden n 0 al 1. Esa función ya la hice, y ademas tu forma para mi no es válida porque necesito usar recursividad. Gracias! |