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

150
Vistas
¿Cómo manejar "((9^x)-2)%5" sin desbordamiento en x más alto?

Estoy preparando un examen para mi curso de matemáticas discretas y tengo que implementar la función

f(x) = ((9^x)-2)%5

Dado que los valores de nuestra x en la tarea son 100000 < x <= 1000000, tengo algunos problemas para manejar el desbordamiento

En nuestra tarea hay una pista: "Encuentre una manera de aplicar el módulo a lo largo de los cálculos. De lo contrario, obtendrá números demasiado grandes muy rápidamente al calcular 9^x".

No puedo descifrar la lógica para hacer que esto funcione aunque, cualquier ayuda sería apreciada

 /* This function should return 1 if 9^x-2 mod 5 = 2 and 0 otherwise */ int is2mod5(int x){ int a; double b = pow(9, x); a = b; int c = (a-2)%5; if (c == 2) { return 1; } else { return 0; } }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Dado que está calculando el módulo 5, las multiplicaciones también se pueden hacer en el módulo 5. 9 es congruente con -1 módulo 5. Así 9^x es congruente con (-1)^x módulo 5, es decir, 1 si x es par y -1 si x es impar. Restar 2 da -1 y -3 que son congruentes con 4 y 2 respectivamente.

Así, f(x) es 4 si x es par y 2 si x es impar.

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