#include <iostream>
void printAs(int v, int base)
{
char res[32] = "0";
static const char* digits = "0123456789ABCDEF";
int i = v?0:1;
while( v )
{
res[i++] = digits[v%base];
v/=base;
}
while( i-- )
{
std::cout << res[i];
}
std::cout << std::endl;
}
int main() {
printAs(42,16);
printAs(42,8);
printAs(42,2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdm9pZCBwcmludEFzKGludCB2LCBpbnQgYmFzZSkKewoJY2hhciByZXNbMzJdID0gIjAiOwoJc3RhdGljIGNvbnN0IGNoYXIqIGRpZ2l0cyA9ICIwMTIzNDU2Nzg5QUJDREVGIjsKCWludCBpID0gdj8wOjE7Cgl3aGlsZSggdiApCgl7CgkJcmVzW2krK10gPSBkaWdpdHNbdiViYXNlXTsKCQl2Lz1iYXNlOwoJfQoJd2hpbGUoIGktLSApCgl7CgkJc3RkOjpjb3V0IDw8IHJlc1tpXTsKCX0KCXN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkgewoJCglwcmludEFzKDQyLDE2KTsKCXByaW50QXMoNDIsOCk7CglwcmludEFzKDQyLDIpOwoJCglyZXR1cm4gMDsKfQ==