Pagini recente » Cod sursa (job #2153216) | Cod sursa (job #3187893) | Cod sursa (job #1579773) | Cod sursa (job #2565519) | Cod sursa (job #2591893)
#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 = 1; 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 == 1)
rez -= val;
else
rez += val;
//g << i << " " << val << "\n";
}
}
}
int main()
{
f >> n >> m;
n--; m--;
mini = min(n, m);
rez = 1ll * n * m;
rezolvare();
/*for(int i = 1; i <= n; i++)
g << a[i] << " " << b[i] << "\n";*/
g << rez;
return 0;
}