Cod sursa(job #2952252)
| Utilizator | Data | 8 decembrie 2022 20:56:25 | |
|---|---|---|---|
| Problema | Mins | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.7 kb |
#include <fstream>
#define DIM 1000001
using namespace std;
ifstream fin("mins.in");
ofstream fout("mins.out");
long long x,y,mini,nr,sol;
int nrd[DIM];
bool c[DIM],f[DIM];
int main() {
fin>>x>>y;
x--;
y--;
mini=min(x,y);
for (int i=2;i<=mini;i++) {
if (c[i]==0) {
for (int j=2*i;j<=mini;j+=i) {
c[j]=1;
nrd[j]++;
if (j%(i*i)==0)
f[j]=1;
}
nrd[i]=1;
}
if (f[i]==0) {
nr=x/i*y/i;
if (nrd[i]%2==0)
sol-=nr;
else
sol+=nr;
}
}
fout<<x*y-sol;
return 0;
}
