Răspuns :
Explicație:
Lecţia 6 – Algoritmi pentru prelucrarea cifrelor, cmmdc, divizori primi
Clasa a V-a
1
Algoritmi pentru prelucrarea cifrelor, cmmdc, divizori primi
Prelucrarea cifrelor unui număr
if (n == 0) //prelucrare numarul 0
while (n > 0) {
cif = n%10;
//operatii care prelucreaza
//cifra curenta conform problemei
n = n / 10;}
do{
cif = n%10;
//operatii care prelucreaza
//cifra curenta conform problemei
n = n / 10;
} while (n > 0);
ATENȚIE! Prin spargerea unui număr în cifre, valoarea inițială se distruge.
Dacă mai aveți nevoie de ea în program, trebuie să-i faceți o copie lui n înainte de a-l sparge
a. calcularea numarului de cifre a lui n:
nrcif = 0;
if (n == 0) nr = 1;
while (n > 0) {
nrcif++;
n = n / 10;
}
nrcif = 0;
do{
nrcif++;
n = n / 10;
} while (n > 0);
b. determinarea primei cifre a numărului n
while (n > 9)
n = n / 10;
prima_cifra = n;
c. determinarea oglinditului lui n (numărul care conține cifrele lui n în ordine inversă)
oglindit = 0;
while (n > 0) {
cif = n % 10;
oglindit = oglindit * 10 + cif;
n = n / 10;
}
ATENȚIE! La oglindirea unui număr terminat cu cifre de 0, aceste cifre 0 se pierd deoarece devin zerouri
nesemnificative, în fața primei cifre a oglinditului.
d. extragerea cifrelor lui n în ordinea în care apar în numar
//determinăm cea mai mare putere a lui 10, care este mai mică sau egală decât numărul n
p = 1;
while (p * 10 <= n) p = p * 10;
while (n > 0) {
cif = n / p;
//prelucreaza cif conform cerintelor problemei
n = n % p;
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!