Pagini recente » Cod sursa (job #1595046) | Clasament preONI 2007, Runda 1, Clasa a 10-a | Cod sursa (job #1807943) | Cod sursa (job #2238019) | Cod sursa (job #1753645)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
const int MAXN = 1000001;
int ciurn[MAXN],ciurp[MAXN];
ifstream f("mins.in");
ofstream g("mins.out");
int main()
{
int c,d,n;
long long card=0;
f>>c>>d;
c--;
d--;
n=min(c,d);
for(int i=2; i<=n; i++)
{
if(ciurn[i]==0)
{
for(int j = i; j <= n; j += i)
ciurn[j]++;
long long patrat = 1LL * i * i;
for(long long j = patrat; j <= n; j += patrat)
ciurp[j] = 1;
}
if(ciurp[i]==0)
{
if(ciurn[i]%2==0)
card-=1LL*(c/i)*(d/i);
else
card+=1LL*(c/i)*(d/i);
}
}
g<<1LL*c*d-card;
return 0;
}