Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

202
Vistas
Suma de dígitos recursivos sin el dígito correcto

Necesito escribir una función recursiva que sume todos los dígitos del número dado, excepto el dígito más a la derecha. Por ejemplo: 56643 -> 5 + 6 + 6 + 4 = 21

O si el número es 5: la suma será 0 porque no sumaremos el dígito correcto (en este ejemplo también es nuestro único dígito).

Intenté escribir la función recursiva, pero sin éxito.

 int sumDig(int num) { if (num < 10) return 0; return (num % 10 + sumDig(num / 10)); }

Gracias por todo

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

La función que ha escrito imprimiría la suma de todos los dígitos de num excepto el primer dígito, que es lo contrario de lo que desea lograr. Considere la siguiente función: -

 int sumDig(int num) { if (num > 0) return (num % 10 + sumDig(num / 10)); else return 0; }

Puede llamar directamente a esta función con num/10 para lograr su caso de uso. Alternativamente, puede usar una función contenedora.

over 4 years ago · Santiago Trujillo Denunciar

0

Debido a que el caso base es num<10 , en realidad está sumando todos excepto el dígito más significativo.

Para obtener todos excepto el último, esto se puede hacer haciendo que la función tome el penúltimo dígito y agregándolo al resultado de la llamada recursiva.

 int sumDig(int num) { if (num == 0) { return 0; } return ((num / 10) % 10) + sumDig(num / 10); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda