DE DIVIZIBILIT ATE Se dă un tablou cu numere naturale, nenule.
Să se insereze după fiecare element neprim
divizorii săi proprii. #include <iostream> using namespace std; int main() { unsigned int v[1001], i, div, j, aux, n; cin >> n; for (i = 1; i <= n; i++) cin >> v[i]; //citim elementele tabloului for (i = 1; i <= n; i++) { aux = v[i]; //cream o copie a fiecarui element for (div = 2; div <= aux / 2; div++) if (aux % div == 0) //verificam daca elementul are divizori proprii { for (j = n; j >= i + 1; j--) v[j + 1] = v[j]; //mutam elementele spre dreapta n++; v[i + 1] = div; //punem valoarea divizorului in tablou i++; //marim numarul elementului } } for (i = 1; i <= n; i++) cout << v[i] << ' '; //afisam noul tablou return 0; } Scrieți un program care citește numerele naturale x și n, apoi n valori întregi și determină câte perechi de valori consecutive (aflate pe poziții alăturate în șirul de valori) au cel mai mare divizor comun egal cu x. #include <iostream> using namespace std; int main() { int v[1001], i, copie1, copie2, x, n, rest; cin >> n >> x; for (i = 1; i <= n; i++) cin >> v[i]; for (i = 1; i <= n; i++) { copie1 = v[i]; //cream copii ale elementelor pentru care aplicam algoritmul copie2 = v[i + 1]; while (copie1 % copie2) { rest = copie1 % copie2; copie1 = copie2; copie2 = rest; } if (rest == x) //verfificam daca cel mai mare divizor comun e egal cu x cout << v[i] << ' ' << v[i + 1] << ';' << ' '; //afisam perechile } return 0; }