Salve, devo svolgere questo esercizio :"Scrivere un programma C++ che, letti da input un intero N e un array di interi di dimensione N, stampi la
stringa SI se nell’array sono presenti almeno due numeri coprimi, e la stringa NO altrimenti. Due numeri si
dicono coprimi se il loro unico divisore comune è 1. Si può supporre che l’array contenga almeno 2
elementi, ossia N>=2."
questo è il codice
#include <iostream>
using namespace std;
int main () {
int n, a[]={0},prec, mcd = 0;
bool coprimi = false;
cin >> n;
for(int i = 0; i < n; i++) {
cin >> a[i];
prec = a[i];
cin >> a[i];
if(prec != 0 && a[i] != 0) {
while(a[i] != 0) {
mcd = prec % a[i];
prec = a[i];
a[i] = mcd;
}
if(prec == 1)
coprimi = true;
}
}
if(coprimi)
cout << "SI";
else
cout << "NO";
}
il codice non funziona e non riesco a capire dove stia il problema.
Specifico il fatto che ho iniziato da pochissimo e mi scuso se ho scritto delle "assurdità".
grazie mille in anticipo.