Cod sursa(job #2263814)
| Utilizator | Data | 19 octombrie 2018 12:37:25 | |
|---|---|---|---|
| Problema | Mins | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <iostream>
#include <vector>
using namespace std;
//ifstream cin("mins.in");
//ofstream cout("mins.out");
const int N = 1e6 + 7;
long long gcd[N];
int main()
{
int a, b;
cin >> a >> b;
for (int i = 1; i < a && i < b; ++i)
gcd[i] = 1LL * (a - 1) / i * ((b - 1) / i);
for (int i = min(a, b) - 1; i >= 1; --i)
for (int j = i + i; j < min(a, b); j += i)
gcd[i] -= gcd[j];
cout << gcd[1];
return 0;
}
