Cod sursa(job #1914606)
| Utilizator | Data | 8 martie 2017 17:37:44 | |
|---|---|---|---|
| Problema | Mins | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.73 kb |
#include <fstream>
#define nm 1000001
using namespace std;
ifstream fin("mins.in");
ofstream fout("mins.out");
int vect[nm],prim[nm],c,d,n;
long long z=0,p;
int main()
{
long long i,j;
fin>>c>>d;
fin.close();
c--;d--;
n=min(c,d);
for(i=2; i<=n; i++)
{
if(!vect[i])
{
for(j = i; j <= n; j += i)
vect[j]++;
p = 1LL * i * i;
for(j = p; j <= n; j += p)
prim[j] = 1;
}
if(!prim[i])
{
if(!(vect[i]%2))
z-=1LL*(c/i)*(d/i);
else
z+=1LL*(c/i)*(d/i);
}
}
fout<<1LL*c*d-z;
fout.close();
return 0;
}
