01. Es. svolto: multiplo
Traccia:
Scrivere un programma che acquisisce da tastiera due numeri interi e verifica se il primo numero è un multiplo del secondo numero.
Strategia:
Analizziamo i seguenti esempi per verificare alcuni comportamenti:
Consideriamo i numeri 8 e 4 (il primo numero è un multiplo del secondo)
8/4 (divisione intera) vale 2
Moltiplicando il quoziente 2 per il divisore 4 otteniamo: 2 * 4 = 8
Il risultato della moltiplicazione è 8 ed è uguale al dividendo
In sintesi: 8/4*4=8 (con "/" divisione intera)
Consideriamo i numeri 8 e 3 (il primo numero NON è un multiplo del secondo)
8/3 (divisione intera) vale 2
Moltiplicando il quoziente 2 per il divisore 3 otteniamo: 2 * 3 = 6
Il risultato della moltiplicazione è 6 ed è diverso dal dividendo di partenza che vale 8
In sintesi: 8/3*3=6 (con "/" divisione intera)
Quindi per stabilire se il primo numero è multiplo del secondo possiamo sfruttare il procedimento sopra illustrato.
Nota:
Il linguaggio C prevede un operatore, il modulo, che semplifica ulteriormente la verifica ma non è utilizzato in questo esercizio perché non è stato ancora introdotto.
Soluzione:
#include <stdio.h>
int main()
{
int x1, x2;
printf("Inserire due numeri interi: ");
scanf("%d %d", &x1, &x2);
// Divisione intera: x1/x2*x2 == x1 solo se x1 e' un multiplo
if (x1/x2*x2 == x1) {
printf("%d e' un multiplo di %d\n", x1, x2);
}
else {
printf("%d NON e' un multiplo di %d\n", x1, x2);
}
return 0;
}
Sito: 7ecnologie
Sezione: 08. C language
Capitolo: 02. Introduzione al C
Paragrafo: 04. Controllo condizionale if
Approfondimento: 01. Es. svolto: multiplo
Indice dei capitoli: 00. Risorse - 01 Ambiente di sviluppo - 02. Introduzione al C - 03. Le librerie - 04. Tutorial - 05. Esercizi svolti - 98. Esercizi
Indice dei paragrafi: 01. Hello World - 02. Variabile di tipo int - 03. Input da tastiera - 04. Controllo condizionale if - 05. Operatori logici - 06. Ciclo while - 07. Operatore modulo - 08. Array - 09. Ciclo for - 10. Ciclo do/while - 11. Variabili di tipo float - 12. Funzione random() - 13. Impostazione del set di caratteri - 14. Definizione di funzioni - 15. Passaggio di parametri: gli array - 16. Variabili: visibilità e durata - 17. Il tipo char - 18. I file - 19. Funzioni matematiche
Indice degli approfondimenti: 01. Es. svolto: multiplo - 02. Es. svolto: minori di 10 - 03. Es. svolto: min e max - 04. Es. svolto: ordine crescente - 05. Es. svolto: cifra unità - 06. Es. svolto: speculare