求救,进制转换,MLE了

#include<bits/stdc++.h>
using namespace std;
char a[100000010];
long long n,k,cnt=0;
int main(){
	cin>>n>>k;
	while(n>0){
		int res=n%k;
		if(res>=0&&res<=9){
			a[cnt]=res+'0';
		}else if(res>=10&&res<=36){
			a[cnt]=res-10+'A';
		}
		n/=k;
		cnt++;
	}
	for(int i=cnt-1;i>=0;i--){
        cout<<a[i];
    }
	return 0;
}
1 个赞

有解决方案

1 个赞

请用递归实现本题

1 个赞

贴一下递归的核心代码吧

if(x==0) return ;
f(x/k);
cout<<x%k<<" ";
1 个赞

已A
我发现问题了

2 个赞

@yhxyd75 请不要回复老帖