Trata de explicarme cada linea de código de tu programa.
A la mejor tienes problemas con return, break, indentación de código, etc..
Ademas de problemas con matemáticas.
Recuerda que un numero es primo si sus divisores son solo 1 y el mismo.
Por ejemplo:
Código:
#: Divisores Es primo
2: 1, 2 Si
3: 1, 3 Si
4: 1, 2, 4 No
5: 1, 5 Si
6: 1, 2, 3, 6 No
7: 1, 7 Si
8: 1, 2, 4, 8 No
9: 1, 3, 9 No
10: 1, 2, 5, 10 No
Entonces si pruebo sus divisores, entre 2 y (n - 1)* si algún numero entre ese rango divide a n entonces no es primo de lo contrario es primo.
*Este rango se puede optimizar.
PD: Recuerda para checar si un numero es divisible entre otro, por ejemplo.
8 es divisible por 2
Para saber si un numero es divisible entre otro solo basta checar si el residuo es 0
Ejemplo:
8 % 2 = 0
De todas formas
checa este libro (pagina 113), tiene un apartado de primos. (Pero recuerda no solo copiar el código y ya, de otra forma no estarías aprendiendo)