#include #include // converteste din cod ascii in valoare cifra (0-15) unsigned digval(unsigned c) { return isdigit(c) ? c - '0' : toupper(c) - 'A' + 10; } unsigned readnat(void) { unsigned r = 0; int c; while (isdigit(c = getchar())) r = 10*r + c - '0'; ungetc(c, stdin); return r; } unsigned readhex(void) { unsigned r = 0; int c; while (isxdigit(c = getchar())) r = 16*r + digval(c); ungetc(c, stdin); return r; } // converteste din cifra in cod ASCII int hexascii(unsigned val) { return val < 10 ? '0' + val : 'a' - 10 + val; } void printhex(unsigned n) { if (n > 15) printhex(n / 16); putchar(hexascii(n % 16)); } int main(void) { // printf("%u\n",readhex()); printhex(readnat()); putchar('\n'); return 0; }