
#include <stdio.h>
int N;
int fun(int n){
int a;
if(n<N) printf("%c", (a=n%N-10) >= 0 ? a+'A' : n%N+'0' );
else {
fun(n/N);
printf("%c", (a=n%N-10) >= 0? a+'A' : n%N+'0' );
}
}
int main(){
int n;
scanf("%d %d",&n,&N);
fun(n);
}
本文介绍了如何使用C语言通过递归方式将十进制数转换为任意进制。详细讲解了算法思路,并提供了具体的代码实现,包括如何处理不同进制的数字转换和优化效率。

#include <stdio.h>
int N;
int fun(int n){
int a;
if(n<N) printf("%c", (a=n%N-10) >= 0 ? a+'A' : n%N+'0' );
else {
fun(n/N);
printf("%c", (a=n%N-10) >= 0? a+'A' : n%N+'0' );
}
}
int main(){
int n;
scanf("%d %d",&n,&N);
fun(n);
}
1411