E' qiusto il problema: come fa il tuo algoritmo a stabilire se un numero è primo oppure no ?
Il tuo codice funziona fino a n=3 semplicemente perchè i primi 3 numeri (1,2,3) sono primi e consecutivi....
Come fai a stabilire che poi devi saltare il 4, il 6, l'8, il 9, ...etc