Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- long long gcd(long long a, long long b)
- {
- while(b != 0)
- {
- long long t = a % b;
- a = b;
- b = t;
- }
- return a;
- }
- long long lcm(long long a, long long b)
- {
- return (a / gcd(a,b)) * b;
- }
- // НОД всего массива
- long long gcdArray(const vector<long long>& arr)
- {
- if (arr.empty()) return 0;
- long long g = arr[0];
- for (int i = 1; i < (int)arr.size(); i++)
- {
- g = gcd(g, arr[i]);
- }
- return g;
- }
- // НОК всего массива
- long long lcmArray(const vector<long long>& arr)
- {
- if (arr.empty()) return 0;
- long long l = arr[0];
- for (int i = 1; i < (int)arr.size(); i++)
- {
- l = lcm(l, arr[i]);
- }
- return l;
- }
- int main()
- {
- int k;
- cout << "Количество чисел: ";
- cin >> k;
- vector<long long> data(k);
- for (int i = 0; i < k; i++)
- {
- cin >> data[i];
- }
- cout << "НОД = " << gcdArray(data) << endl;
- cout << "НОК = " << lcmArray(data) << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement