Pagini recente » Cod sursa (job #1251366) | Cod sursa (job #355898) | Istoria paginii template/preoni-2008 | Cod sursa (job #2058487) | Cod sursa (job #145864)
Cod sursa(job #145864)
#include<stdio.h>
#include<string.h>
#define INPUT "ciur.in"
#define OUTPUT "ciur.out"
#define CL(x) memset(x,0,sizeof(x));
FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");
char ciur[2000001];
int solutie[1001];
long n;
inline void readValues(){fscanf(fin, "%ld", &n);}
void solveFunction();
void printSolution();
int main(){
readValues();
solveFunction();
fclose(fin);
fclose(fout);
return 0;
}
void solveFunction(){
int lastPoz,nrTotal;
lastPoz=0;
CL(ciur);
for(long i=2;i<=n;++i)
if(!ciur[i]){
for(long j=i+i;j<=n;j+=i)
ciur[j]=1;
}
nrTotal=0;
for(long i=n;i>1;--i){
if(!ciur[i]){
solutie[nrTotal]=i;
++nrTotal;
if(nrTotal==1001)
break;
}
}
fprintf(fout, "%d\n", nrTotal);
for(int i=nrTotal-1;i>=0;--i)
fprintf(fout, "%d ", solutie[i]);
fprintf(fout, "\n");
}