Cod sursa(job #144647)
Utilizator | Ionescu Robert Marius Robytzza | Data | 27 februarie 2008 20:30:45 |
---|---|---|---|
Problema | Ciurul lui Eratosthenes | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <fstream.h>
long n,prime[2000100];
void gen_prime() {
prime[n] = 1;
for (long d = 3; d < n; d+=2) {
prime[d - 1] = 1;
if (prime[d] == 0)
for (long v= 2; v*d < n; v++)
prime[d * v] = 1;
}
prime[2] = 0;
}
int main ()
{
ifstream fin ("ciur.in");
ofstream fout ("ciur.out");
fin>>n;
long sol[1010],nr=0;
void gen_prime();
for (int i=n;i>1;i--)
if (prime[i]==0)
{
sol[nr++]=i;
if (nr>1000)
break;
}
while (nr)
{
fout<<sol[nr];
nr--;
}
fin.close();
fout.close();
return 0;
}