Pentru sursa de mai jos imi da la ultimele 5 teste : Killed by signal 11(SIGSEGV).
Unde este problema?
PS: am folosit numarul 1318699 pt ca este al 100 000 numar prim.
#include <stdio.h>
char iprim [1318699];
int k;
long int x;
void citire ()
{
scanf("%d",&k);}
void prim (int k)
{
long int i,j;
int nr=0;
for(i=2;i<=1318699;i++)
if(nr<k){
if(!iprim[i ]){
x=i;
++nr;
for(j=i*i;j<=1318699;j+=i)
iprim[j]=1;}}
else break;
}
int main ()
{
freopen ("prim.in", "r", stdin);
freopen ("prim.out", "w", stdout);
citire();
prim(k+1);
printf("%ld", x*x);
return 0;}
Foloseste tag-ul [ code ] !