- 368
- 11
- CPU
- AMD Ryzen 7 3700X @4300Mhz 1.28V
- Dissipatore
- Noctua NH-D14
- Scheda Madre
- Asus Crosshair VIII Hero Wi-Fi
- HDD
- Sabrent Rocket PCI-E 4.0 1TB
- RAM
- G.Skill TridentZ B-Die @3800Mhz 16-17-16-32-48-288-1T 1.425V
- GPU
- Asus ROG Strix RTX 2060 O6G
- Audio
- Integrata
- Monitor
- Dell Alienware AW2521HF
- PSU
- Corsair RM750x
- Case
- Cooler Master HAF 922
- Periferiche
- Razer Huntsman TE, Razer Mamba Elite
- OS
- Windows 10 Home
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;
}