Pagini recente » Cod sursa (job #729121) | Cod sursa (job #980534) | Cod sursa (job #2704695) | Cod sursa (job #281822) | Cod sursa (job #1231996)
#include <fstream>
using namespace std;
ifstream fin ("dreptunghiuri.in");
ofstream fout ("dreptunghiuri.out");
int n, m;
long long sol;
int cmmdc(int a, int b) {
if (!b)
return a;
else
return cmmdc(b, a % b);
}
int main() {
fin >> m >> n;
--m, --n;
sol = 1LL * n * (n + 1) * m * (m + 1) >> 2;
for (int x = 1; x <= m; ++x)
for (int y = 1; y <= n; ++y)
if (cmmdc(x, y) == 1)
for (int i = 1; x * i <= m && y * i <= n; ++i)
for (int j = 1; x * i + j * y <= m && x * j + y * i <= n; ++j)
sol += (n - x * j - y * i + 1) * (m - x * i - j * y + 1);
fout << sol;
}