Pagini recente » Cod sursa (job #3292485) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #3286196) | Cod sursa (job #3257508)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("mins.in");
ofstream fout("mins.out");
const long long Max = 1000000;
long long c, d, n, i, j, r;
long long mul[Max + 2];
int main() {
fin >> c >> d;
c--;
d--;
n = min(c, d);
for(i = 2; i <= n; i++) {
if(mul[i] == 1) continue;
long long semn;
if(mul[i] == 0) semn = 1;
else semn = -1;
r += semn * (c / i) * (d / i);
for(j = 2 * i; j <= n; j += i) mul[j] += semn;
}
fout << c * d - r;
return 0;
}