Să se calculeze câtul şi restul împărțirii a două numere întregi a şi b, fără să se folosească operatorii / şi % (se foloseşte scăderea repetată a lui b din a şi se ţine cont de semnul numerelor). 8
Pentru a calcula câtul și restul împărțirii a două numere întregi a
și b
fără a folosi operatorii /
și %
, putem folosi o buclă while pentru a scădea repetat b
din a
până când a
devine mai mic decât b
. De fiecare dată când scădem b
din a
, incrementăm un contor și reactualizăm valoarea lui a
. Când a
devine mai mic decât b
, valoarea lui a
este restul împărțirii, iar valoarea contorului este câtul împărțirii.
Pentru a ţine cont de semnul numerelor, putem folosi o variabilă semn
care va fi inițializată cu 1 și va fi înmulțită cu -1 dacă unul dintre numere este negativ.
În final, putem afișa atât câtul cât și restul împărțirii.
Implementarea în C++ arată astfel:
#include <iostream>
using namespace std;
int main() {
int a, b, cat = 0, semn = 1;
cout << „Introduceti numerele a si b: „;
cin >> a >> b;
if (a < 0) {
semn *= -1;
a *= -1;
}
if (b < 0) {
semn *= -1;
b *= -1;
}
while (a >= b) {
a -= b;
cat++;
}
cout << „Câtul este: ” << cat * semn << endl;
cout << „Restul este: ” << a * semn << endl;
return 0;
}
În acest exemplu, numerele a
și b
sunt citite de la tastatură și se verifică semnul fiecăruia. În bucla while, se scade repetat b
din a
și se calculează câtul împărțirii. La final, se afișează câtul și restul împărțirii, ținând cont de semnul numerelor.