profile
Размещено 4 года назад по предмету Информатика от oooooooooooooooo10

c ++
окращение последовательности
Дана последовательность натуральных чисел. Найдите наибольший общий делитель всех элементов последовательности и сократите все её члены на него.

Решение оформите в виде функции bool isDivisor(vector &A, int d), проверяющей является ли число d общим делителем последовательности, и функции void reduction(vector &A), которая находит наибольший общий делитель и сокращает все члены последовательности на него.

Входные данные

В первой строке входных данных записано натуральное число n (n≤100) — количество элементов последовательности. В следующей строке даны n натуральных чисел, не превышающих 10000, — элементы последовательности.

Выходные данные

Выведите n чисел — итоговую последовательность.

Примеры
Ввод
Вывод
5
3 6 9 12 18
1 2 3 4 6
2
57 179
57 179

  1. Ответ на вопрос
    Ответ на вопрос дан MaksMega

    Ответ:хз я так решил

    Объяснение:

    #include <iostream>

    #include <vector>

    using namespace std;

    bool isDivisor(vector<int> &A, int d) {

       int g = 0;

       for (int i = 0; i < A.size(); i++) {

           if (A[i]%d == 0) g = 1; //если все элементы делятся на d то g сохранит единицу

           else {

           g = 0;

           break;  //если хотя бы один не поделился то прекращаем цикл и начинаем другой

           }

       }

       if (g == 1) return true; //правда если все делятся

       return false; //ложь если хотя бы один не поделился

    }

    void reduction(vector<int> &A) {

       int d = 1; //НОД

       for (int i = A[0]; i >= 2; i--) {

           if (isDivisor(A,i)) {

               d = i;

               break;   //НОД, если все элементы делятся на него

           }

       }

       for (int i = 0; i < A.size(); i++) {

           A[i] = A[i] / d; //делим все элементы на НОД

       }

    }

    int main() {

       int n;

       cin >> n;

       vector<int> A(n);

       for (int i = 0; i < n; ++i){

           cin >> A[i];

       }

       reduction(A);

       for (int i = 0; i < A.size(); ++i){

           cout << A[i] << " ";

       }

       return 0;

    }

    1. Ответ на вопрос
      Ответ на вопрос дан kykareeky
      слушай а ты в блоке функции сделал 3 и 7? если да то помоги пожалуйста
    2. Ответ на вопрос
      Ответ на вопрос дан ilai2541358
      Да
    3. Ответ на вопрос
      Ответ на вопрос дан ilai2541358
      Помочь?
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.