-
Bastava saber o comportamento do operador de módulo (resto da divisão inteira):
$a % $b Módulo: resto de $a dividido por $b.
Os operandos de módulo são convertidos para inteiros (removendo a parte decimal) antes do processamento.
O resultado do operador de módulo % tem o mesmo sinal do dividendo — ou seja, o resultado de $a % $b terá o mesmo sinal de $a.
Exemplos:
echo (5 % 3)."\n"; // imprime 2
echo (5 % -3)."\n"; // imprime 2
echo (-5 % 3)."\n"; // imprime -2
echo (-5 % -3)."\n"; // imprime -2
Na codificação da questão são exibidos os números ímpares (cujo resto da divisão inteira por 2 é igual a 1) compreendidos entre 0 e 4; assim são exibidos 1 e 3, porém são exibidos "em sequência" aparentando o número 13.
-
for ($i=0;$i
$J=10/2
$J=5
$i= é menor que 5, ou seja, vai de 0 a 4
Quais os números que dividido por $b deixa o resto igual a 1?
Vejamos a baixo:
if ($i %$b == 1)
São justamente os números impares de 0 a 4 que deixa o resto igual a 1
Quais são esses números impares? 1 e 3
1%2 = 1 e 3%2 = 1
A saída $i = 13
-
Veja o comentário que a banca deu para um aluno que tentou entrar com o recurso:
O módulo de 1 por 2 é igual a 1e também o módulo de 3 por 2 é igual a 1. Logo, após a execução do algarítimo em questão, será impressa “13”, estando o gabarito correto (opção A).
Fonte: https://d3du0p87blxrg0.cloudfront.net/concursos/231/consulplan_RESPOSTA%20RECURSOS%20GABARITO%20-%20codevas6484.pdf