Pagini recente » Cod sursa (job #1824733) | Cod sursa (job #788848) | Cod sursa (job #1759145) | Cod sursa (job #820440) | Cod sursa (job #1325235)
#include <stdio.h>
#define MAXN 1000000
int phi1[MAXN], phi2[MAXN];
inline void ciur(int n, int m){
int i, j;
for(i = 1; i <= m; i++)
phi1[i] = phi2[i] = i - 1;
for(i = m + 1; i <= n; i++)
phi1[i] = phi2[i] = m;
for(i = 2; i <= m; i++){
for(j = 2 * i; j <= n; j += i)
phi1[i]--;
}
for(i = 2; i <= m; i++){
for(j = 2 * i; j <= m; j += i)
phi2[i]--;
}
}
int main(){
FILE *in = fopen("mins.in", "r");
int n, m, aux;
fscanf(in, "%d%d", &n, &m);
fclose(in);
n--;
m--;
if(n < m){
aux = n;
n = m;
m = aux;
}
ciur(n, m);
int i;
long long rez = 0;
for(i = 1; i <= n; i++)
rez += phi1[i];
for(i = 1; i <= m; i++)
rez += phi2[i];
FILE *out = fopen("mins.out", "w");
fprintf(out, "%lld", rez + 1);
fclose(out);
return 0;
}