#include <iostream>
using namespace std;
void binaryNormal(int decimalInteger) //This function does NOT use recursion
{
string buff = "";
while (decimalInteger != 0)
{
int remainder = decimalInteger % 2;
buff += remainder + '0';
decimalInteger /= 2;
}
for(int i = buff.length() - 1; i >= 0; cout << buff[i--]);
cout << endl;
}
void binaryRecursion(int decimalInteger) //This function uses recursion
{
int remainder = decimalInteger % 2;
if (decimalInteger / 2 > 0) binaryRecursion(decimalInteger / 2);
cout << remainder;
}
int main() {
// your code goes here
binaryNormal(101);
binaryRecursion(101);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBiaW5hcnlOb3JtYWwoaW50IGRlY2ltYWxJbnRlZ2VyKSAvL1RoaXMgZnVuY3Rpb24gZG9lcyBOT1QgdXNlIHJlY3Vyc2lvbgp7CiAgICBzdHJpbmcgYnVmZiA9ICIiOwogICAgd2hpbGUgKGRlY2ltYWxJbnRlZ2VyICE9IDApCiAgICB7CiAgICAgICAgaW50IHJlbWFpbmRlciA9IGRlY2ltYWxJbnRlZ2VyICUgMjsKICAgICAgICBidWZmICs9IHJlbWFpbmRlciArICcwJzsKICAgICAgICBkZWNpbWFsSW50ZWdlciAvPSAyOwogICAgfQoKICAgIGZvcihpbnQgaSA9IGJ1ZmYubGVuZ3RoKCkgLSAxOyBpID49IDA7IGNvdXQgPDwgYnVmZltpLS1dKTsKICAgIGNvdXQgPDwgZW5kbDsKfQoKdm9pZCBiaW5hcnlSZWN1cnNpb24oaW50IGRlY2ltYWxJbnRlZ2VyKSAvL1RoaXMgZnVuY3Rpb24gdXNlcyByZWN1cnNpb24KewogICAgaW50IHJlbWFpbmRlciA9IGRlY2ltYWxJbnRlZ2VyICUgMjsKICAgIGlmIChkZWNpbWFsSW50ZWdlciAvIDIgPiAwKSBiaW5hcnlSZWN1cnNpb24oZGVjaW1hbEludGVnZXIgLyAyKTsKCiAgICBjb3V0IDw8IHJlbWFpbmRlcjsKfQoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgliaW5hcnlOb3JtYWwoMTAxKTsKCWJpbmFyeVJlY3Vyc2lvbigxMDEpOwoKCXJldHVybiAwOwp9Cg==