Pagini recente » Cod sursa (job #2439830) | Cod sursa (job #1219682) | Cod sursa (job #1999943) | Cod sursa (job #893302) | Cod sursa (job #145868)
Cod sursa(job #145868)
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
#define INPUT "ciur.in"
#define OUTPUT "ciur.out"
FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");
vector<char> ciur(2000001);
vector<int> solutie;
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;
long nrTotal;
lastPoz=0;
nrTotal=0;
for(long i=2;i<=n;++i)
if(!ciur[i]){
++nrTotal;
for(long j=i+i;j<=n;j+=i)
ciur[j]=1;
}
fprintf(fout, "%ld\n", nrTotal);
nrTotal=0;
for(long i=n;i>1;--i){
if(!ciur[i]){
solutie.push_back(i);
++nrTotal;
if(nrTotal==1000)
break;
}
}
reverse(solutie.begin(), solutie.end());
for(int i=0;i<nrTotal;++i)
fprintf(fout, "%d ", solutie[i]);
fprintf(fout, "\n");
}