yjx1234 @ 2024-08-18 12:22:56
#include<bits/stdc++.h>
using namespace std;
void find(int n,int m){
if(n==0) return;
find(n/m,m);
if(n%m==1)
cout<<'1';
if(n%m==2)
cout<<'2';
if(n%m==3)
cout<<'3';
if(n%m==4)
cout<<'4';
if(n%m==5)
cout<<'5';
if(n%m==6)
cout<<'6';
if(n%m==7)
cout<<'7';
if(n%m==8)
cout<<'8';
if(n%m==9)
cout<<'9';
if(n%m==10)
cout<<'A';
if(n%m==11)
cout<<'B';
if(n%m==12)
cout<<'C';
if(n%m==13)
cout<<'D';
if(n%m==14)
cout<<'E';
if(n%m==15)
cout<<'F';
if(n%m==16)
cout<<'G';
if(n%m==17)
cout<<'H';
if(n%m==18)
cout<<'I';
if(n%m==19)
cout<<'J';
if(n%m==20)
cout<<'K';
if(n%m==21)
cout<<'L';
if(n%m==22)
cout<<'M';
if(n%m==23)
cout<<'N';
if(n%m==24)
cout<<'O';
if(n%m==25)
cout<<'P';
if(n%m==26)
cout<<'Q';
if(n%m==27)
cout<<'R';
if(n%m==28)
cout<<'S';
if(n%m==29)
cout<<'T';
if(n%m==30)
cout<<'U';
if(n%m==31)
cout<<'V';
if(n%m==32)
cout<<'W';
if(n%m==33)
cout<<'X';
if(n%m==34)
cout<<'Y';
if(n%m==35)
cout<<'Z';
}
int main(){
int n,m;
cin>>n>>m;
if(n==m&&n<=10){
cout<<n-1;
}
else{
if(n==11)
cout<<'A';
if(n==12)
cout<<'B';
if(n==13)
cout<<'C';
if(n==14)
cout<<'D';
if(n==15)
cout<<'E';
if(n==16)
cout<<'F';
if(n==17)
cout<<'G';
if(n==18)
cout<<'H';
if(n==19)
cout<<'I';
if(n==20)
cout<<'J';
if(n==21)
cout<<'K';
if(n==22)
cout<<'L';
if(n==23)
cout<<'M';
if(n==24)
cout<<'N';
if(n==25)
cout<<'O';
if(n==26)
cout<<'P';
if(n==27)
cout<<'Q';
if(n==28)
cout<<'R';
if(n==29)
cout<<'S';
if(n==30)
cout<<'T';
if(n==31)
cout<<'U';
if(n==32)
cout<<'V';
if(n==33)
cout<<'W';
if(n==34)
cout<<'X';
if(n==35)
cout<<'Y';
if(n==36)
cout<<'Z';
}
find(n,m);
return 0;
}
by daishuohua @ 2024-08-23 18:42:04
给我眼睛看聋了,写那么长,看不懂
by a31415926465 @ 2024-09-06 20:10:01
给我眼睛看瞎了,写那么长,看不懂
by Peter_Li @ 2024-09-16 10:01:49
@yjx1234 将main()函数改为
int main() {
int n, m;
cin >> n >> m;
find(n, m);
return 0;
}
再在find函数中加个
if(n % m == 0)
cout << '0';
就行了。
优化后代码如下:
#include<bits/stdc++.h>
using namespace std;
char base[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
void find(int n, int m) {
if (n == 0) return;
find(n / m, m);
cout << base[n % m];
}
int main() {
int n, m;
cin >> n >> m;
find(n, m);
return 0;
}
by yjx1234 @ 2024-09-17 21:00:58
@Peter_Li 谢谢,已回关