描述

小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。

输入描述:

输入一个正整数n  (1 ≤ n ≤ 109)

输出描述:

输出一行,为正整数n表示为六进制的结果

#include <stdio.h>

int main() {
    
    long n = 0; //正整数
    long k = 0; //六进制
    scanf("%ld",&n);
    
    long i;
    for(i = 1;n > 0;i *= 10)
    {
        k += (n%6)*i;//从个位数累加
        n /= 6;//缩减
    }

    printf("%ld",k);
    return 0;
}

没想到n的范围得用long类型才放得下,而且数值计算时,类型不统一也会出错。