Inserisci una sequenza di numeri interi di lunghezza n, con n scelta da input. Indica se all’interno della sequenza esiste un numero divisore di almeno un altro numero della stessa sequenza. Es. [2, 4,6,8,7] è ok per 8/2 [4,6, -8, 10] è ok -8/4 [2,-5,3,7,11] non è ok
Il codice non è complesso. Non sono state usate funzioni. Semplicemente, c’è un primo ciclo che si occupa di leggere/caricare da input il vettore in base all’inserimento preventivo del quantitativo di dati da inserire. La parte principale è il doppio ciclo: prendo ogni singolo elemento del vettore e lo verifico con tutti gli altri elementi.
/**
* Inserisci una sequenza di numeri interi di lunghezza n
* Indicare se all'interno della sequenza esiste un numero divisore di almeno
* un altro numero della stessa sequenza
* es. [2, 4,6,8,7] è ok per 8/2 [4,6, -8, 10] è ok -8/4 [2,-5,3,7,11]
*/
#include <iostream>
using namespace std;
int main()
{
int sequenza[100];
int n;
bool trovato = false;
int divisore;
cout << "Quanti elementi vuoi inserire? ";
do
{
cin>>n;
}
while(n <=0);
for (int i=0; i < n; i++)
{
cout << "inserisci un elemento ";
cin >> sequenza[i];
}
for(int i=0; i < n; i++)
{
//blocco un elemento e controllo tutti gli altri
//con un secondi ciclo
for(int j=0; j < n; j++)
{
if ((i != j) && (sequenza[j] % sequenza[i] == 0))
{
trovato = true;
divisore = sequenza[i];
}
}
}
if (trovato)
cout << "c'e' un divisore degli altri ->"<< divisore <<endl;
else
cout << "non c'e' divisore" << endl;
return 0;
}
Listati
Listato GitHub -> https://github.com/alfredocentinaro/esercizi-cplusplus/blob/main/divisore-sequenza/divisore-sequenza.cpp
Lancialo su Replit -> https://replit.com/@AlfredoCentina2/divisore-sequenza
Ultima modifica 26 Aprile 2022