(C++) Divisione e resto di interi


Divisione e resto di interi

Nel modulo "Espressioni aritmetiche" abbiamo parlato delle caratteristiche dell'operazione di divisione nel linguaggio C++.
Ricordiamo che per i dati interi (tipo int) possono essere utilizzate due operazioni di divisione.
- divisione intera, quando scartiamo la parte frazionaria come risultato dell'operazione di divisione.
% - calcolo del resto di una divisione.
 
Devi ricordare!
In C e C++, il risultato della divisione di un numero intero per un numero intero – è sempre un numero intero, il resto viene scartato durante la divisione.
 

Esempio
intero a,b; un = 10; b = 3; int c = a/b; // Risposta: c = 3 int d = a%b; // Risposta: d = 1
Queste operazioni sono molto importanti nella programmazione. Devono essere compresi e utilizzati correttamente. 

Esercitati, programma sempre di più e avrai successo!

 

Calcola le cifre di un numero

La necessità di applicare l'operazione di calcolo del resto della divisione è evidente quando si lavora con le cifre di un numero. 
 
Attività
Viene fornito un numero di tre cifre. Visualizza tutte le cifre di questo numero e ottieni un nuovo numero formato permutando unità e centinaia.

La domanda più difficile che si pone per i principianti è come scomporre un numero nelle sue cifre costitutive.
In effetti, tutto è risolto in modo abbastanza semplice, se ricordi la matematica. E la matematica ci dice che qualsiasi numero può essere scomposto in una somma di cifre.
Ad esempio: 365=3*100+6*10+5*1 . Vediamo che ogni cifra è un moltiplicatore della cifra corrispondente del numero. 
Mostriamo come ottenere ogni cifra di un numero in una variabile separata. Considera la procedura di divisione  una colonna del numero 365 dal numero 10  (prendiamo il numero 10, perché abbiamo un sistema numerico decimale e, di conseguenza, abbiamo i termini di cifra 1, 10, 100, ecc.).
  

Dopo aver analizzato la figura, puoi vedere che:
  e = n % 10; // operazione n % 10 - calcola l'ultima cifra del numero n (ovvero la cifra delle unità)   // 365% 10 = 5 d = n / 10% 10; // operazione n / 10 - riduce il numero di 10 volte,   // cioè scarta l'ultima cifra del numero (365/10 = 36), // ora possiamo calcolare la cifra delle decine applicando l'operazione familiare al risultato   // - calcola il resto dopo la divisione per il numero 10, 36% 10 = 6 s = n/100; // per ottenere la cifra delle centinaia, è sufficiente scartare due cifre a destra del numero,   // cioè dividere per 10 due volte (n / 10 /10 o uguale a n / 100) 365 / 100 = 3
Dopo aver ricevuto tutte le cifre del numero, possiamo ricavarne un altro numero moltiplicando la cifra desiderata per la cifra corrispondente: & nbsp; ad esempio, la riga sottostante otterrà un nuovo numero dal numero originale n, con le centinaia e le unità riorganizzate:
1) il numero di unità (memorizzate nella variabile e)  moltiplicato per 100
2) la cifra delle decine (memorizzata nella variabile d)  moltiplicare per 10; < br /> 3) possiamo semplicemente moltiplicare la cifra delle centinaia per 1, o semplicemente prendere il valore memorizzato nella variabile s;
Poi vanno aggiunti i valori dei punti 1, 2 e 3 e otteniamo un nuovo numero: n1 = e * 100 + d * 10 + s; L'intero programma avrà questo aspetto:
  #includeiostream> utilizzando lo spazio dei nomi std; principale() { int n, e, d, s; cin>> N; e = n % 10; d = n / 10% 10; s = n/100; cout << e<< " " << d<< " " << s<< " " << (e * 100 + d * 10 + s); }