Cod sursa(job #1415007)
Utilizator | Popovici Robert PopoviciRobert | Data | 3 aprilie 2015 15:34:06 |
---|---|---|---|
Problema | Multiplu | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
char v[1000000];
int main()
{ FILE*fi,*fout;
int i,j,con,n,nr,div,flag;
fi=fopen("numere11.in" ,"r");
fout=fopen("numere11.out" ,"w");
fscanf(fi,"%d" ,&n);
for(i=2;i*i<=n;i++)
if(v[i]==0)
for(j=i*i;j<=n;j=j+i)
v[j]=1;
con=0;
for(i=1;i<=n;i++)
{
nr=i;
div=1;
flag=0;
while(flag==0&&div<=sqrt(nr))
{
if(nr%div==0){
if(v[div+nr/div]==1)
flag=1;
}
div++;
}
if(flag==0)
con++;
}
fprintf(fout,"%d" ,con);
fclose(fi);
fclose(fout);
return 0;
}