Cod sursa(job #1694416)

Utilizator NastureNasture Anca Nasture Data 25 aprilie 2016 13:12:15
Problema Mins Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdio>
int n,ciur[1000002],ciurp[1000002];
long long c,d,ras;
int main()
{
    freopen("mins.in", "r", stdin);
    freopen("mins.out", "w", stdout);
    scanf("%d %d", &c, &d);
    c--;
    d--;
    if(c>d)
        n=d;
    else
        n=c;
    long long i,j;
    ras=c*d;
    for (i=2;i<=n;i++){
        if (ciur[i]==0){
        for (j=i;j<=n;j+=i)
            ciur[j]++;
        if (i*i<=n)
            for (j = i * i; j <= n; j += i * i)
                ciurp[j] = 1;
    }
       if (ciurp[i]==0){
           if (ciur[i]%2==1)
              ras-=(c/i)*(d/i);
           else
            ras+=(c/i)*(d/i);
       }
    }
    printf("%lld", ras);
    return 0;
}