Pagini recente » Cod sursa (job #64353) | Cod sursa (job #1866741) | Cod sursa (job #1435365) | Cod sursa (job #2665130) | Cod sursa (job #629232)
Cod sursa(job #629232)
#include <fstream>
using namespace std;
ifstream fi("ciur.in");
ofstream fo("ciur.out");
long long n,a[2000002],nr=0;
void citire()
{
fi>>n;
fi.close();
}
void ciur()
{
int k=2,kk=0;
for(int i=2;i<=n;i++,k++)
{
if(k>=32)
{
kk++;
k-=32;
}
int x=1;
x<<=k;
if(!(x&a[kk]))
{
//fo<<i<<" ";
nr++;
for(int p=kk,q=i,r=k;q<=n;q+=i)
{
p+=kk;
r+=k;
if(r>=32)
{
r-=32;
p++;
}
int y=1;
y<<=r;
if(!(y&a[p]))
{
a[p]+=y;
}
}
}
}
}
int main()
{
citire();
ciur();
fo<<nr<<"\n";
fo.close();
return 0;
}