Hola Victor,
La operación mod devuelve el resto de la division de dos números. Asi 16 mod 4 = 0 pues 0 es el resto de la division de 16 entre 4. Sin embargo el operador division / devuelve el resultado de la división de dos números. Asi 16/4=4 y 17/4=4.25. Por esta razon cuando utilizas la operación division en lugar de mod en un codigo es necesario antes hacer un casting (o cambio de tipo) de las variables, pues ada no hace los casting automaticamente. Si no otra solución posible para utilizar el operador division en ese codigo y que te funcionara seria en ver de comparar con 0 comparar con 0.0. De esta manera no existiria incompatibilidad de tipos entre los dos lados de la desigualdad.
Espero haberte aclarado el tema. Sin más solo me resta decirte que tuve se escribe con v y no con b
Un saludo