Pagini recente » Cod sursa (job #1909635) | Cod sursa (job #1889703) | Cod sursa (job #2168371) | Cod sursa (job #1815585) | Cod sursa (job #631156)
Cod sursa(job #631156)
#include<stdio.h>
FILE*f=fopen("mins.in","r");
FILE*g=fopen("mins.out","w");
int min(int a,int b){
if(a<b)
return a;
return b;
}
char w[1000001];
int p[1000001];
long long s,c,d;
int main() {
fscanf(f,"%lld%lld",&c,&d);
c--;
d--;
int mins=min(c,d);
for(int i=2;i<=mins;++i)
if(w[i]==0){
p[i]++;
long long ii=i*i;
for(int j=2*i;j<=mins;j+=i){
w[j]=1;
if(j%ii&&p[j]>=0)
p[j]++;
else
p[j]=-1;
}
}
for(int i=1;i<=mins;++i)
if(p[i]>0)
if(p[i]%2)
s+=(c/i)*(d/i);
else
s-=(c/i)*(d/i);
long long a=c*d;
fprintf(g,"%lld",a-s);
fclose(g);
fclose(f);
return 0;
}