Ne znam da li će ti ovaj program pomoći. Od ugrađenih aritmetičkih operacija oslanja se samo na sabiranje.
Code:
#include <iostream>
#include <cstdlib>
using namespace std;
typedef unsigned long long int Integer;
Integer quotient(Integer num, Integer den) {
if (num < den)
return 0;
Integer result = 0;
int pow = 0;
while (true) {
int newDen = den << 1;
if (newDen > num)
break;
den = newDen;
++pow;
}
pow = 1 << pow;
while (num > 0) {
if (num >= den) {
num -= den;
result |= pow;
}
pow >>= 1;
den >>= 1;
}
return result;
}
Integer product(Integer a, Integer b) {
if (b == 0)
return 0;
Integer result = 0;
int pow = 0;
while ((1<<pow) <= b)
++pow;
for (--pow; pow>=0; --pow)
if ((1<<pow) & b)
result += a << pow;
return result;
}
int main(int argc, char *argv[])
{
cout << quotient(15,3) << endl;
cout << product(15,3) << endl;
return EXIT_SUCCESS;
}
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.