Pagini recente » Cod sursa (job #1846714) | Cod sursa (job #1854943) | Cod sursa (job #591764) | Cod sursa (job #2285673) | Cod sursa (job #2591880)
#include <fstream>
#define NMAX 1000100
using namespace std;
ifstream f("mins.in");
ofstream g("mins.out");
int n, m, mini, a[NMAX];
long long rez;
bool b[NMAX];
void rezolvare()
{
for(int i = 2; i <= mini; i++)
{
if(a[i] == 0)
{
for(int j = i; 1ll * j * i <= mini; j++)
a[1ll * i * j]++;
for(int j = 1; 1ll * j * i * i <= mini; j++)
b[j * i * i] = 1;
}
if(b[i] == 0)
{
long long val = 1ll * (n / i) * (m / i);
if(a[i] % 2 == 0)
rez -= val;
else
rez += val;
}
}
}
int main()
{
f >> n >> m;
n--; m--;
mini = min(n, m);
rez = 1ll * n * m;
rezolvare();
g << rez;
}