十进制转K进制模板-C语言
原理
十进制转K进制的一般步骤:
- 取余K并记录
- 原数整除K
- 最后对取余结果倒序
void trans(long long m) {
long long res[20]; // 长度根据实际情况而定
int l = 0;
while (m) {
res[l++] = m%K;
m /= K;
}
for (int i = l-1; i >= 0; i--) {
printf("%d",res[i]);
// 如果是十六进制提前准备一个字符数组c,输出:printf("%c",c[res[i]])
}
printf("\n");
}
实际例题
#include <stdio.h>
void trans(long long m) {
long long res[20];
int l = 0;
while (m) {
res[l++] = m%2333;
m /= 2333;
}
for (int i = l-1; i >= 0; i--) {
printf("%d",res[i]);
if (i != 0) printf(" ");
}
printf("\n");
}
int main() {
int n;
long long m;
scanf("%d",&n);
for (int i = 0; i < n; i++){
scanf("%lld",&m);
trans(m);
}
return 0;
}