Pagini recente » Cod sursa (job #2327787) | Cod sursa (job #1757690) | Cod sursa (job #165206) | Cod sursa (job #413726) | Cod sursa (job #936559)
Cod sursa(job #936559)
#include <fstream>
using namespace std;
ifstream in("dreptunghiuri.in");
ofstream out("dreptunghiuri.out");
inline int cmmdc(int x, int y){
return y ? cmmdc(y, x % y) : x;
}
int main(){
int n, m;
in >> n >> m;
long long rez = (long long)n * (n - 1) * m * (m - 1) / 4;
for (int x = 1 ; x <= n ; x++)
for (int y = 1 ; y <= m ; y++)
if (cmmdc(x , y) == 1)
for (int a = 1 ; a * x <= n && a * y <= m ; a++)
for (int b = 1 ; a * x + b * y <= n && a * y + b * x <= m ; b++)
rez += (n - a * x - b * y) * (m - a * y - b * x);
out << rez << "\n";
return 0;
}