Fechada. Esta pergunta está fora do tópico . Atualmente não está aceitando respostas.
Comentários
- Perguntas sobre C ++ em particular são offtopic aqui, e a pergunta geral é uma pergunta de matemática pura. Deseja que eu migre isso para Stack Overflow ou Matemática ?
Resposta
Se $ a, b $ são ambos inteiros positivos, então podemos sempre escrever $ a = kb + \ ell $ onde $ 0 \ leq \ ell < b $. Chamamos $ \ ell $ de resto e $ k $ de quociente . Em seu primeiro exemplo, $ 5 = 2 \ cdot 2 + 1 $ so 5 % 2 == 1
. Em seu segundo exemplo, $ 2 = 0 \ cdot 9 + 2 $, então 2 % 9 == 2
. De forma mais geral, se $ a < b $, então a % b == a
.
Também existe uma regra para inteiros com sinal, mas infelizmente não consigo me lembrar. Além disso, 0 % x == 0
sempre que $ x \ neq 0 $, e x % 0
causará uma exceção (” divisão por zero “).
Comentários
- Com inteiros com sinal, torna-se bagunçado e diferentes linguagens de programação usam um operador diferente.
Resposta
A resposta é 9. 2/9 é 0r9. O operador de módulo retorna o resto da divisão inteira, visto que 9 vai para 2 0 vezes o operador retorna 9.