Pagini recente » Cod sursa (job #1608522) | Cod sursa (job #2262685) | Cod sursa (job #2583931) | Cod sursa (job #1048278) | Cod sursa (job #281258)
Cod sursa(job #281258)
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
typedef unsigned long ulong;
typedef unsigned int uint;
namespace Prime {
bool Check(ulong prime) {
for(int i = 2; i*i <= prime; i++) {
if(prime%i == 0)
return false;
}
return true;
}
}
int main()
{
uint totalPrimes = 0;
ulong n;
cout << "Enter the limit: ";
cin >> n;
bool isPrime[n+1];
totalPrimes = n - 1; // (1 is not prime)
for(uint i = 1; i < n+1; i++) {
isPrime[i] = true;
}
ulong i, j;
for (i = 2; i*i <= n; i++) {
if (isPrime[i]) {
j = 2;
while (i*j <= n) {
ulong multiple = i*j;
if(isPrime[multiple])
totalPrimes--;
isPrime[multiple] = 0;
j++;
}
}
}
//uint check = 0, real = 0;
//for (i = 2; i <= n; i++) {
// if (isPrime[i]) {
//cout << i << " ";
// check++;
//if(Prime::Check(i)) real++;
// }
//}
ofstream fout("ciur.out");
fout << totalPrimes << endl;
//cout << endl << totalPrimes << " vs " << check << " vs " << real;
fout.close();
return 0;
}