500000までの素数を判定して、出力するプログラムを作っているのですが、実行するとカーソルが点滅したまま止まってしまいます。
どのようにすればよろしいでしょうか。よろしくお願いします。
#include<stdio.h>

long i=0,j=0,primecounter=0,chk_prime[500000],x=0,y=0;

int main (void)
{

for(i = 2;i < 500000;i++){
for(j = 1;j < i;j++){
if(i % j == 0){
primecounter++;
}
if(primecounter == 2){
printf("%ld",chk_prime[x]);
chk_prime[x] = i;
x++;
primecounter = 0;
}
else{
primecounter = 0;
}
}
}

for(y = 0;y <= x;y++){
printf("%ld",chk_prime[y]);
}
return 0;
}