Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "string.h"
- #include "array.h"
- 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 Array<long long>& arr)
- {
- if (arr.size() == 0) return 0;
- long long g = arr[0];
- for (int i = 1; i < arr.size(); i++)
- {
- g = gcd(g, arr[i]);
- }
- return g;
- }
- long long lcmArray(const Array<long long>& arr)
- {
- if (arr.size() == 0) return 0;
- long long l = arr[0];
- for (int i = 1; i < arr.size(); i++)
- {
- l = lcm(l, arr[i]);
- }
- return l;
- }
- int main()
- {
- cout << "Сколько чисел? ";
- int k;
- cin >> k;
- Array<long long> arr;
- for (int i = 0; i < k; i++)
- {
- long long val;
- cin >> val;
- arr.append(val);
- }
- long long g = gcdArray(arr);
- long long l = lcmArray(arr);
- // Выводим результат
- String msgG = "НОД = ";
- msgG = msgG + to_string(g).c_str();
- String msgL = "НОК = ";
- msgL = msgL + to_string(l).c_str();
- cout << msgG << endl;
- cout << msgL << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement