Pagini recente » Cod sursa (job #1742322) | Cod sursa (job #217007) | Cod sursa (job #2838827)
#include <fstream>
using namespace std;
ifstream in("mins.in");
ofstream out("mins.out");
const int MAX = 1000001;
int ciurn[MAX], ciurp[MAX], c, d, n;
long long card;
void calcul(int i) {
if (ciurn[i] == 0) {
for (int j = i; j <= n; j += i)
ciurn[j]++;
long long k = 1LL * i * i;
for (long long jj = k; jj <= n; jj += k)
ciurp[jj] = 1;
}
if (ciurp[i] == 0) {
long long t = 1LL * (c / i) * (d / i);
if (ciurn[i] % 2 == 0)
card -= t;
else
card += t;
}
}
int main() {
in >> c >> d;
c--, d--;
n = min(c, d);
for (int i = 2; i <= n; i++)
calcul(i);
out << 1LL * c * d - card;
return 0;
return 0;
}