Aleksandr72
?>

(C++) Для двух натуральных чисел P и Q, меньших 1000000, напишите программу, которая определяет, числа являются взаемнопростимы (не имеют общих делителей, кроме 1 Нужно зделать с ссылками!

Информатика

Ответы

elenarumack

Объяснение:

В общем сделал так чтобы проверялись вообще все возможные перестановки чисел, а не одинарные

#include <iostream>

using namespace std;

bool is_permutation(int* A, int* B, int size);

int main()

{

int *A, *B, N;

bool result;

cin >> N;

A = new int[N];

B = new int[N];

for (int i = 0; i < N; i++) cin >> A[i];

for (int i = 0; i < N; i++) cin >> B[i];

result = is_permutation(A, B, N);

if (result) cout << "YES";

else cout << "NO";

return 0;

}

bool is_permutation(int* A, int* B, int size)

{

int CountInA, CountInB;

for (int i = 0; i < size; i++) { // Перебираем по одному все элементы массива B

 CountInA = 0;

 CountInB = 0;

 for (int j = 0; j < size; j++)

 {

  if (B[i] == A[j]) CountInA++; // Считаем сколько раз этот элемент встретился в массиве А

  if (B[i] == B[j]) CountInB++; // Считаем сколько раз этот элемент встретился в массиве B

 }

 if (CountInA != CountInB) return false;// Если счётчики не совпали, то сразу выходим из цикла

}

return true;// Если счётчики всегда совпадали, то мы попадём сюда и массивы состоят из одинакового количества одинаковых элементов

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

(C++) Для двух натуральных чисел P и Q, меньших 1000000, напишите программу, которая определяет, числа являются взаемнопростимы (не имеют общих делителей, кроме 1 Нужно зделать с ссылками!
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

bulenbeiser
Ushakova Sakhno
Irina_Nikolai
alenchik19938823
ИП-Сысоев1628
inessa12006
extremhunter
oksanashabanovadc3197
ЮлияДаниил520
cheshirsky-kot
Татьяна1856
Бражинскене_Алексей
Vladimirovna1370
LYuBOV
Ионов202