225 afișări Chelaru David-Ioan (Chelaru_David) 21 feb
www.pbinfo.ro
Etichete: nicio etichetă

Cifra de control a unui număr se obține efectuând suma cifrelor sale, apoi suma cifrelor acestei sume, până când suma obținută este un număr format dintr-o singură cifră. Această ultimă cifră poartă numele de cifră de control.

Exemplu: Cifra de control (cc) a numărului n=4568248
:
cc(4568258)=cc(38)=cc(11)=2
.

Secvență de implementare C++:

while (n>9)
{ s=0; while (n>0) { s+=n%10; n/=10; } n=s;
}
Algoritmul prezentat este intuitiv, ușor de înțeles și contribuie la dezvoltarea gândirii algoritmice.

Tot pentru calcularea cifrei de control se poate folosi și următoarea metodă: se trunchiază numărul prin eliminarea ultimei cifre apoi se adună cu aceasta până se obține un număr format dintr-o singură cifră.

Exemplu:

n=4568258

n=456825+8=456833

n=45683+3=45686

n=4568+6=4574

n=457+4=461

n=46+1=47

n=4+7=11

n=1+1=2

Secvența de implementare C++:

while(n>9)
{ n=n/10+n%10;
}
În ambele cazuri timpul de execuție depinde de numărul de cifre ale numărului și de valorile acestora.

Pornind de la criteriul de divizibilitate cu 9, un număr se divide cu 9 dacă suma cifrelor sale este multiplu de 9 și cum cifra cea mai mare în baza 10 este 9, putem afla cifra de control calculând restul împărțirii numărului la 9. Dacă restul este 0 atunci cifra de control este 9, altfel este acel rest.

Secvența de implementare C++:

r=n%9;
if (r==0) cc = 9;
else cc = r;
În acest caz numărul de operații elementare nu mai depinde de valoarea lui n.


225 afișări Chelaru David-Ioan (Chelaru_David) 21 feb
www.pbinfo.ro
Du-te sus!