Pagini recente » Cod sursa (job #1894729) | Cod sursa (job #283836) | Cod sursa (job #1343671) | Cod sursa (job #1498665) | Cod sursa (job #145860)
Cod sursa(job #145860)
#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;
for(long i=2;i<=n;++i)
if(!ciur[i]){
lastPoz=i;
for(long j=i+i;j<=n;j+=i)
ciur[j]=1;
}
nrTotal=0;
for(long i=lastPoz;i>1&&nrTotal!=1000;--i){
if(!ciur[i]){
solutie[nrTotal]=i;
++nrTotal;
}
}
fprintf(fout, "%d\n", nrTotal);
for(int i=nrTotal-1;i>=0;--i)
fprintf(fout, "%d ", solutie[i]);
fprintf(fout, "\n");
}