In the internal loop:
for (int k = 1; k <= i/2; k++)
You are starting with k = 1
and testing if k
divides i
. 1
divides any integer, so the answer will always be "non prime", which is not the case (remember the definition of prime number). Start from 2
:
for (int k = 2; k <= i/2; k++)