#include <stdio.h>

// 0-15の数値を16進数の1文字として表示する関数
void print_hex(int n) {
    if (n >= 0 && n <= 9) {
        printf("%d", n);
    } else if (n >= 10 && n <= 15) {
        printf("%c", 'A' + (n - 10));
    }
}

// 10進数nを16進数表記で表示する再帰関数
void tohex(int n) {
    if (n == 0) return; // ベースケース

    tohex(n / 16);      // 再帰的に上の桁を先に処理
    print_hex(n % 16);  // 余りを表示（これが現在の桁になる）
}

int main() {
    int n;
    printf("正の整数nを入力してください: ");
    scanf("%d", &n);

    printf("%dの16進数表記: ", n);
    if (n == 0) printf("0");
    else tohex(n);
    printf("\n");

    return 0;
}