Pagini recente » Cod sursa (job #2632630) | Cod sursa (job #2049499) | Cod sursa (job #2629872) | Cod sursa (job #2465202) | Cod sursa (job #1338936)
#include <cstdio>
#include <algorithm>
#define MAX 1000000
using namespace std;
FILE *fin=freopen("mins.in","r",stdin);
FILE *fout=freopen("mins.out","w",stdout);
int c, d;
int DIV[MAX + 10];
bool PERM[MAX + 10];
long long int cnt;
int main()
{
long long int i, j;
scanf("%d %d", &d, &c); --c, --d;
cnt = 1LL * c * d;
for(i = 2; i <= MAX; ++i)
{
if( DIV[i] )
continue;
DIV[i] = 1;
for(j = i * 2; j <= MAX; j += i)
++DIV[j];
for(j = i * i; j <= MAX; j += i * i)
PERM[j] = 1;
}
for(i = 2; i <= max(c,d); ++i)
if( !PERM[i] )
cnt -= (DIV[i] % 2 == 0 ? -1 : 1) * (c / i) * (d / i);
printf("%lld ", cnt);
}