Pagini recente » Cod sursa (job #2556618) | Cod sursa (job #442292) | Cod sursa (job #1167881) | Cod sursa (job #770861) | Cod sursa (job #2952733)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("mins.in");
ofstream fout("mins.out");
const int NMAX = 1e6 + 7;
int a[NMAX], b[NMAX];
int main()
{
int c, d;
fin >> c >> d;
c--;
d--;
int minim = min(c, d);
long long ans = 1LL * c * d;
for (int i = 2; i <= minim; i++)
{
if (a[i] == 0)
{
for (int j = 1; 1LL * j * i <= minim; j++)
{
a[1LL * i * j]++;
}
for (int j = 1; 1LL * j * i * i <= minim; j++)
{
b[j * i * i] = 1;
}
}
if (b[i] == 0)
{
long long val = 1LL * (c / i) * (d / i);
if (a[i] % 2 == 1)
{
ans -= val;
}
else
{
ans += val;
}
}
}
fout << ans;
return 0;
}