[NOIP2000]进制转换
时间: 2023-11-09 07:09:17 浏览: 90
进制的转换
[NOIP2000]进制转换是一道关于进制转换的题目,需要将一个给定的十进制数转换为另一个进制表示。具体解题思路如下:首先,将给定的十进制数除以目标进制的基数,得到商和余数。余数即是目标进制下的当前位数。将余数记录下来,并将商作为新的被除数继续进行相同的操作,直到商为0为止。最后将记录下来的余数按照相反的顺序排列,即为目标进制下的表示。
以下是该题的完整代码示例:
```
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
char a[100001];
int l = 0;
while (n != 0) {
int j = n % m;
n /= m;
if (j < 0) {
j -= m;
n++;
}
if (j < 10)
a[l] = (char)(j + 48);
else
a[l] = (char)((j - 10) + 'A');
l++;
}
cout << n << "=";
for (int i = l - 1; i >= 0; i--)
cout << a[i];
cout << "(base" << m << ")" << endl;
return 0;
}
```
阅读全文