Cod sursa(job #158466)
| Utilizator | Data | 13 martie 2008 17:38:26 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.37 kb |
#include <stdio.h>
#include <math.h>
#define max 2000002
char v[max];
int main(){
long n,count=0,i,j,indice;
FILE *f=fopen("ciur.in","r"),
*g=fopen("ciur.out","w");
fscanf(f,"%ld",&n);
for(i=3;i<=n;i+=2)
if(!v[i]&&i%2) {
count++;indice=i;
for(j=indice*indice;j<=n;j*=indice) { v[j]=1; indice++; }
}
fprintf(g,"%ld\n",count+1);
fclose(g);
return 0;
}
