Pagini recente » Cod sursa (job #2637074) | Cod sursa (job #2809800) | Cod sursa (job #226010) | Cod sursa (job #2474561) | Cod sursa (job #1246026)
#include <stdio.h>
// det nr naturale prime mai mici
// limita max, vectorul nr prime mai mici, adresa nr de numere gasite
// 1 param eroare > 1000, 0 nu eroare intors prin numele functie
bool *v = new bool[2000000]();
int ciur(int n, int *p)
{
int i, j;
bool *vTemp = new bool[2000000]();//vTemp[2000000] = {false};
if (n < 2 || n == 0)
return 1;
*p = 0;
for (i=2; i<=n; ++i)
if (vTemp[i] == false)
{
//v[(*p)++] = true;
v[i] = true;
++(*p);
//++(*p);
for (j=i+i; j<=n; j+=i)
vTemp[j] = true;
}
return 0;
}
void printv(int *v, int n)
{
int i;
for (i=0; i<n; ++i)
printf("%i ", v[i]);
}
int main()
{
int p, n, i, j;
FILE *file = NULL;
file = fopen("ciur.in", "r");
if (!file)
return -1;
else
fscanf(file, "%i", &n);
fclose(file);
ciur(n, &p);
file = fopen("ciur.out", "w");
/*for (i=2, j=0; j<p; ++i)
{
if (v[i] == true)
{
fprintf(file, "%i ", i);
++j;
}
}*/
fprintf(file, "%i", p);
fclose(file);
return 0;
}