Pagini recente » Cod sursa (job #1504681) | Cod sursa (job #1953726) | Cod sursa (job #1304053) | Cod sursa (job #1374112) | Cod sursa (job #146118)
Cod sursa(job #146118)
#include <fstream>
#include <vector>
#include <set>
using namespace std;
vector<int> p;
inline int max ( int a, int b ) { if (a > b) return a; else return b; }
void ciur ( int n, vector<int> &p ) {
vector<bool> a(n+1);
for (int i = 2; i <= n; ++i) a[i] = true;
for (int i = 2; i <= n; ++i) {
if (a[i]) {
p.push_back(i);
for (int j = 2; i*j <= n; ++j) a[i*j] = false;
}
}
}
int main() {
ifstream fin("ciur.in");
ofstream fout("ciur.out");
int n = 0;
fin >> n;
ciur(n,p);
fout << p.size() << '\n';
for (int i = max(p.size()-1000,0); i < p.size(); ++i) fout << p[i] << ' ';
fout << '\n';
return 0;
}