StepX
Utente Attivo
- Messaggi
- 368
- Reazioni
- 11
- Punteggio
- 39
Ciao ragazzi, mi sto cimentando in questo piccolo programma che dovrebbe calcolare quali dei numeri inseriti abbiano almeno due divisori tra 2, 3, 5, 7, 11... Il problema è che non riesco a capire come mai non va...
Se ad esempio inserisco 6 dice che non ha almeno due divisori, se inserisco 30 dice che ne ha almeno due... :cav: Mi date una mano? :help:
Se ad esempio inserisco 6 dice che non ha almeno due divisori, se inserisco 30 dice che ne ha almeno due... :cav: Mi date una mano? :help:
Codice:
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int vet[5]={2,3,5,7,11}, num, n=1, c=0;
cout<<"Il programma calcola quale dai numeri inseriti ha almeno 2 divisori tra 2, 3, 5, 7, 11."<<endl;
do
{
n=1; c=0;
cout<<"Inserisci un numero: ";
cin>>num;
while (n<=5)
{
if (num%vet[n]==0)
c++;
n++;
};
if (c>=2)
cout<<"Il numero inserito ha almeno 2 divisori tra 2, 3, 5, 7, 11."<<endl;
else
cout<<"Il numero inserito non ha almeno 2 divisori tra 2, 3, 5, 7, 11."<<endl;
}while (num!=0);
system("PAUSE");
return EXIT_SUCCESS;
}