2019/5/9 复习到胡凡的算法书P93
今天记录一下进制转换和回文串处理
1. 进制转换
(1). Q进制转换为10进制
//Q进制数:y
//10进制数:num
void Q2ten(int y, int Q) {
printf("%d进制数%d的10进制数为",Q, y);
int num = 0; int P = 1;
while (y != 0) {
num += (y%10) * P;
y = y / 10;
P = P * Q;
}
printf("%d\n",num);
return;
}
(2). 10进制转换为Q进制
//y为已知的10进制数
void ten2Q(int y, int Q) {
printf("10进制数%d的%d进制数为",y,Q);
int num[40]; //记录Q进制数
int index = 0; //num的下标
do {
num[index++] = y % Q;
y = y / Q;
} while (y != 0);
for (int i = index-1; i >=0; i--)
printf("%d", num[i]);
printf("\n");
return;
}
int main() {
Q2ten(10110, 2);
ten2Q(22, 2);
return 0;
}
2. 回文数判断
bool ifHuiwen(string s) {
int midlen = s.length()/2;
for (int