A multiplicação e a divisão usando operadores de turno em C são realmente mais rápida
A multiplicação e a divisão podem ser obtidas usando operadores de bits, por exemplo
i*2 = i<<1
i*3 = (i<<1) + i;
i*10 = (i<<3) + (i<<1)
e assim por diante
É realmente mais rápido usar o say(i<<3)+(i<<1)
para multiplicar por 10 do que usandoi*10
diretamente? Existe algum tipo de entrada que não possa ser multiplicada ou dividida dessa maneira?