Dato un numero N intero stampare tutti i suoi divisori

Algoritmo numerico con struttura ciclica
Dato un numero N intero stampare tutti i suoi divisori
Algoritmo 1
¾ Analisi dei dati
Identificatore
Descrizione
Tipo
Input
si
N
il numero di cui si devono trovare i
divisori
intero
K
contatore corrispondente anche ai
divisori di N
intero
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Output
si
Pag. 1
Algoritmo numerico con struttura ciclica
Algoritmo 2
¾ Analisi dei dati
Identificatore
Descrizione
Tipo
N
il numero di cui si devono trovare i
divisori
K
contatore corrispondente anche ai
intero
divisori di N
intero
Input
Output
si
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
si
Pag. 2
Algoritmo numerico con struttura ciclica
#include <iostream>
using namespace std;
// Dato un numero intero stampare i suoi divisori
int main (int argc, char *argv[])
{
char quit;
quit = '\0';
int N,r;
while (quit != 'q')
{
cout << "inserire il numero ......:" ;
cin >>N ;
for (int k=1;k<=N/2;k++)
{
r=N%k;
if(r==0)
{cout << "divisore : " << k<<endl;}
}
//
=======================================================
// termine programma con richiesta di uscita
cout << "Premere q per uscire ";
cin >> quit;
}
return 0;
}
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Pag. 3
Algoritmo numerico con struttura ciclica
Algoritmo 3
¾ Analisi dei dati
Identificatore
Descrizione
Tipo
Input
si
N
il numero di cui si devono
trovare i divisori
intero
K
contatore corrispondente
anche ai divisori di N
intero
Q
uguale alla parte intera della
radice quadrata di N
intero
Output
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Lavoro
si
si
Pag. 4
Algoritmo numerico con struttura ciclica
#include <iostream>
#include <math.h>
using namespace std;
// Dato un numero intero stampare i suoi divisori
int main (int argc, char *argv[])
{
char quit;
quit = '\0';
int N,r,Q;
while (quit != 'q')
{
cout << "inserire il numero ......:" ;
cin >> N ;
Q = sqrt(N);
for (int k=1;k<=Q;k++)
{
r=N%k;
if(r==0)
{cout << "divisore : " << k;
if (k!=N/k)
{cout << " divisore : " << N/k<<endl;}
}
}
//
=======================================================
// termine programma con richiesta di uscita
cout << "Premere q per uscire ";
cin >> quit;
}
return 0;
}
Esempio di “Realizzazione di un flow-chart” a cura del Prof. Salvatore DE GIORGI
Pag. 5