function isPrime(value: number): boolean {
console.log(value)
if (value < 2) return false
return value % 4 === 0 ? false : true;
}
// No modificar: necesario para evaluar el resultado.
export { isPrime };Anibal, tu código está mal, vamos a hacerlo paso a paso, el primer filtro está bien, si el número es menor a 2, retorna falso, ahí bien, pero el comparar el residuo de un número dividido entre 4 que sea 0 está mal, solo por poner algunos ejemplos usando tu lógica:
hiciste value % 4 === 0 ? false : true;
si reemplazamos el value por ejemplo con el 6.
6 % 4 === 0 ? false : true
entonces el residuo de 6 dividido 4 tiene como residuo 2 y 2 es diferente de 0 por lo que la operación da false, pero al ser false retornas true porque en el operador ternario pusiste que la condición verdadera retorne false y la condición falsa retorne true (0 ? false : true;) por lo que tu función dirá que es primo, pero en realidad el 6 no es primo, es compuesto porque es divisible entre 1, 2, 3, 6
Escribir un comentario
Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.