Информатика, вопрос задал taniyham , 1 год назад

Користувач вводить два цілих числа. Необ'хідно вивести всі цілі числа, на які обидва введені числа
діляться без залишку.
С++

Ответы на вопрос

Ответил daraprelj
1

Обычный вариант:

#include <iostream>

using namespace std;

int main()

{

   setlocale(LC_ALL, "RUS");

   int x,y;

   cout<<"Введите 2 целых положительных числа"<<endl;

   cin >> x;

   cin >> y;

   cout << "Числа " << x << " и " << y << " делятся без остатка на числа: " << endl;

   for (int i = 1;i <= x;i++){

       if ((x%i == 0)&&(y%i == 0)){

           cout << i << " ";

           

       }

   }

}

Оптимизированный вариант:

#include <iostream>

using namespace std;

void vivod(int a, int b){

   for (int i = 1;i <= a;i++){

       if ((a%i == 0)&&(b%i == 0)){

            cout << i << " ";

       }

   }

}

int main()

{

   setlocale(LC_ALL, "RUS");

   int x,y;

   cout<<"Введите 2 целых положительных числа"<<endl;

   cin >> x;

   cin >> y;

   cout << "Числа " << x << " и " << y << " делятся без остатка на числа: " << endl;

   if (x>=y){

       vivod(y,x);

   }

   else {

       vivod(x,y);

   }

}

Новые вопросы