#include <iostream>
#include <map>
using namespace std;
int main() {
int a = 1, b = 10;
cout << "Rozwiniecie binarne 1/10:\n0.";
map<int,int> seen;
string result = "";
int pos = 0;
int r = a;
while (true) {
if (r == 0) {
cout << result << endl;
break;
}
if (seen.count(r)) {
int start = seen[r];
cout << result.substr(0,start) << "(" << result.substr(start) << ")" << endl;
break;
}
seen[r] = pos++;
r *= 2;
if (r >= b) {
result += '1';
r -= b;
} else {
result += '0';
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CiAgICBpbnQgYSA9IDEsIGIgPSAxMDsKICAgIGNvdXQgPDwgIlJvendpbmllY2llIGJpbmFybmUgMS8xMDpcbjAuIjsKCiAgICBtYXA8aW50LGludD4gc2VlbjsKICAgIHN0cmluZyByZXN1bHQgPSAiIjsKICAgIGludCBwb3MgPSAwOwogICAgaW50IHIgPSBhOwoKICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgaWYgKHIgPT0gMCkgewogICAgICAgICAgICBjb3V0IDw8IHJlc3VsdCA8PCBlbmRsOwogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgaWYgKHNlZW4uY291bnQocikpIHsKICAgICAgICAgICAgaW50IHN0YXJ0ID0gc2VlbltyXTsKICAgICAgICAgICAgY291dCA8PCByZXN1bHQuc3Vic3RyKDAsc3RhcnQpIDw8ICIoIiA8PCByZXN1bHQuc3Vic3RyKHN0YXJ0KSA8PCAiKSIgPDwgZW5kbDsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHNlZW5bcl0gPSBwb3MrKzsKICAgICAgICByICo9IDI7CiAgICAgICAgaWYgKHIgPj0gYikgewogICAgICAgICAgICByZXN1bHQgKz0gJzEnOwogICAgICAgICAgICByIC09IGI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmVzdWx0ICs9ICcwJzsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0K