Pagini recente » Cod sursa (job #3257634) | Cod sursa (job #445206) | Cod sursa (job #1148505) | Cod sursa (job #2056401) | Cod sursa (job #2513316)
#include <bits/stdc++.h>
using namespace std;
using llong = long long;
ifstream fin("mins.in");
ofstream fout("mins.out");
const int Dim = 5 + 1e6;
int ndiv[Dim], c, d, n;
llong sol;
bitset<Dim> dupl;
int main()
{
fin >> c >> d;
n = min(--c, --d);
for (int i = 2; i <= n; ++i)
{
if (!ndiv[i])
{
for (int j = 1; 1LL * i * j <= n; ++j)
++ndiv[i * j];
for (int j = 1; 1LL * i * i * j <= n; ++j)
dupl[i * i * j] = true;
}
if (dupl[i]) continue;
if (ndiv[i] % 2 == 0)
sol += 1LL * (c / i) * (d / i);
else
sol -= 1LL * (c / i) * (d / i);
}
fout << sol + 1LL * c * d;
fin.close();
fout.close();
}