一、思路:用辗转相除法
二、实现程序:
#include <iostream>
using namespace std;
const int MAXN = 100;
int main(int argc, const char * argv[]) {
int num, n, arr[MAXN], i; // num存储输入的数,n存储进制
i = 0;
cout << "请输入一个正整数:";
cin >> num;
cout << "请输入要转化的进制n(如二进制:2):";
cin >> n;
cout << num << "转为" << n << "进制的数为:";
while(num != 0) { // 辗转相除法
arr[i] = num % n;
num = num / n;
i++;
}
// 从高位往低位输出转化的进制数
while(i > 0) {
i--;
cout << arr[i];
}
cout << endl;
return 0;
}
运行结果: