¿Hay alguna forma de escribir "mod 31" sin operadores de módulo / división?

Obtener el módulo de un número se puede hacer fácilmente sin el operador del módulo o las divisiones, si su operando es una potencia de 2. En ese caso, la siguiente fórmula es válida:x % y = (x & (y − 1)). Esto es a menudo mucho rendimiento en muchas arquitecturas. ¿Se puede hacer lo mismo pormod 31?

int mod31(int a){ return a % 31; };

Respuestas a la pregunta(5)

Su respuesta a la pregunta