Buscar el número con más ceros en un intervalo

Iniciado por siuxoes, 15 Diciembre 2013, 11:32 AM

0 Miembros y 1 Visitante están viendo este tema.

siuxoes

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:

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:

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:

int mayorCantidadCerosAux (Intervalo d, int i)
  {
    if(i==0)
      return 0;
   
  }


Mi función auxiliar:

  int mayorCantidadCeros (Intervalo d)
  {
    return mayorCantidadCerosAux (d, d.fin);
  }


No tengo ni idea de como seguir.

Nasty35

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.

siuxoes

Cita de: 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.

Esa función ya la hice, y ademas tu forma para mi no es válida porque necesito usar recursividad. Gracias!