BC111 小乐乐与进制转换
一、描述
小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。
输入描述:
输入一个正整数n (1 ≤ n ≤ 109)
输出描述:
输出一行,为正整数n表示为六进制的结果
示例1
输入:
6
输出:
10
示例2
输入:
120
输出:
320
二、进制讲解
十进制为例,假设十进制数组104
拆分开,则为1*10^2+0*10^1+4*10^0
公式:位*进制^n
三、代码解答
#include <stdio.h>
#include <math.h>
int main() {
int n = 0;
int num = 0;
long long sum = 0;
scanf("%d",&n);
getchar();
while(n)
{
sum += (n % 6) * pow(10,num);
num++;
n /= 6;
}
printf("%lld",sum);
return 0;
}
注:十进制比六进制更大,转换为6进制时,10^9(int最大范围)会变成更大的数,此时需要long long来存储6进制数字。
int :10^32(大约10的9次方)!
long long :10^63(10的18次方)!