Pagini recente » Cod sursa (job #1575966) | Cod sursa (job #1712436) | Cod sursa (job #2313302) | Cod sursa (job #333866) | Cod sursa (job #2162440)
#include <cstdio>
using namespace std;
int Sol, n, m, d[50], fact[5002], p[5002], f[5002], put[5002][6];
int main()
{
freopen("mins.in", "r", stdin);
freopen("mins.out", "w", stdout);
scanf("%d%d", &n, &m);
if(n < m){
int aux = n;
n = m;
m = aux;
}
d[1] = 2; d[2] = 3; d[3] = 5; d[4] = 7; d[5] = 11; d[6] = 13; d[7] = 17;
d[8] = 19; d[9] = 23; d[10] = 29; d[11] = 31; d[12] = 37; d[13] = 41;
d[14] = 43; d[15] = 47; d[16] = 49; d[17] = 53; d[18] = 59; d[19] = 61;
d[20] = 67; d[21] = 71;
Sol = 1;
for(int i = 2; i < n ; ++i){
int x = i;
for(int t = 1; t <= 21 ; ++t){
if(x % d[t] == 0) put[i][++put[i][0]] = d[t];
while(x % d[t] == 0) x = x / d[t];
}
if(x > 1) put[i][++put[i][0]] = x;
}
for(int i = 2; i < n ; ++i){
if(i < m)Sol += 2;
else ++Sol;
for(int j = 2; j < m; ++j){
int ok = 1;
for(int t = 1; t <= put[j][0] ; ++t)
if(i % put[j][t] == 0) {ok = 0; break;}
Sol = Sol + ok;
}
}
printf("%d", Sol);
return 0;
}