Pagini recente » Cod sursa (job #137306) | Cod sursa (job #1667327) | Cod sursa (job #2284427) | Cod sursa (job #1046351) | Cod sursa (job #2802273)
///Ciurul
///Algoritmul ia toate numerele de la 2 la n si pt fiecare nr, daca nu l-am verificat => este prim si ii eliminam toti multiplii
///Astfel, ramanem doar cu nr prime
#include <iostream>
#include <fstream>
using namespace std;
///define => definim anumite expresii cum vrem noi
#define nmax 2000005
///biblioteca universala
//#include <bits/stdc++.h>
ifstream f("ciur.in");
ofstream g("ciur.out");
void ciur()
{
long long n = 0;
f >> n;
// cout << "-----" << n << "----- \n";
//bitset => un vector de tip bool (are valori doar de 1 si 0)
///vector => la fel ca vectorul obisnuit, dar nu are marime - marimea se dubleaza la nevoie
///in acest vector, bagam elementele cu functia push_back, nu putem sa ii atribuim la o casuta anume un anumit element din moment ce nu are marime fixata
int verificat[1000];
int prime[100];
long long m = 0;
for (long long i=2; i<=n; i++)
{
if (verificat[i]==0)
{
prime[m] = i;
m++;
for (long long j= i+i; j<=n; j+=i)
{
verificat[j] = 1;
}
}
}
cout << m;
g << m;
}
int main()
{
ciur();
return 0;
}