#include <bits/stdc++.h>
using namespace std;
int main() {
int n = 10'000'000; // 1'den n'e kadarki asalları tespit etmek istiyoruz.
vector<bool> asal_mi(n + 1, 1); // Başta tüm sayıları asal varsayıyoruz.
asal_mi[0] = asal_mi[1] = false; // Burasını elle yapıyoruz.
// 2'den n'e kadarki tüm sayıları geziyoruz.
for (int bolen = 2; bolen <= n; bolen++) {
// Katları geziyoruz:
// 2 * bolen, 3 * bolen, 4 * bolen,...
for (int kat = 2 * bolen; kat <= n; kat += bolen) {
asal_mi[kat] = false;
}
}
// Örneğin asalların sayısını bulabiliriz.
int asal_sayisi = 0;
for (int sayi = 1; sayi <= n; sayi++) {
asal_sayisi += asal_mi[sayi];
}
cout << "1'den " << n << "'e kadar " << asal_sayisi << " adet asal sayi var." << "\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCBuID0gMTAnMDAwJzAwMDsgICAgICAgICAgICAgICAvLyAxJ2RlbiBuJ2Uga2FkYXJraSBhc2FsbGFyxLEgdGVzcGl0IGV0bWVrIGlzdGl5b3J1ei4KICAgIHZlY3Rvcjxib29sPiBhc2FsX21pKG4gKyAxLCAxKTsgIC8vIEJhxZ90YSB0w7xtIHNhecSxbGFyxLEgYXNhbCB2YXJzYXnEsXlvcnV6LgogICAgYXNhbF9taVswXSA9IGFzYWxfbWlbMV0gPSBmYWxzZTsgLy8gQnVyYXPEsW7EsSBlbGxlIHlhcMSxeW9ydXouCgogICAgLy8gMidkZW4gbidlIGthZGFya2kgdMO8bSBzYXnEsWxhcsSxIGdleml5b3J1ei4KICAgIGZvciAoaW50IGJvbGVuID0gMjsgYm9sZW4gPD0gbjsgYm9sZW4rKykgewogICAgICAgIC8vIEthdGxhcsSxIGdleml5b3J1ejoKICAgICAgICAvLyAyICogYm9sZW4sIDMgKiBib2xlbiwgNCAqIGJvbGVuLC4uLgogICAgICAgIGZvciAoaW50IGthdCA9IDIgKiBib2xlbjsga2F0IDw9IG47IGthdCArPSBib2xlbikgewogICAgICAgICAgICBhc2FsX21pW2thdF0gPSBmYWxzZTsKICAgICAgICB9CiAgICB9CgogICAgLy8gw5ZybmXEn2luIGFzYWxsYXLEsW4gc2F5xLFzxLFuxLEgYnVsYWJpbGlyaXouCiAgICBpbnQgYXNhbF9zYXlpc2kgPSAwOwogICAgZm9yIChpbnQgc2F5aSA9IDE7IHNheWkgPD0gbjsgc2F5aSsrKSB7CiAgICAgICAgYXNhbF9zYXlpc2kgKz0gYXNhbF9taVtzYXlpXTsKICAgIH0KCiAgICBjb3V0IDw8ICIxJ2RlbiAiIDw8IG4gPDwgIidlIGthZGFyICIgPDwgYXNhbF9zYXlpc2kgPDwgIiBhZGV0IGFzYWwgc2F5aSB2YXIuIiA8PCAiXG4iOwp9