使用穷举法c++将十进制转换成p进制
时间: 2024-10-07 15:03:31 浏览: 34
NOI普及组C++题目及答案.docx
5星 · 资源好评率100%
在C++中,我们可以使用循环和取模运算来实现十进制数转换到任意基数(例如P进制)的转换。这个过程通常被称为“除权取余”(Division with Remainder),因为我们将十进制数不断除以目标基数,直到商变为0。以下是基本步骤:
```cpp
#include <iostream>
#include <string>
std::string decimalToBase(int num, int base) {
std::string result;
while (num > 0) {
// 取模操作得到当前位的值
int remainder = num % base;
// 将该位的字符添加到结果字符串的前面
result = std::to_string(remainder) + result;
// 更新num,继续除以base
num /= base;
}
return result; // 返回逆序的结果字符串
}
int main() {
int decimal = 12345;
int p = 7; // 想要转换的目标基数,比如七进制
std::cout << "Decimal " << decimal << " in base " << p << " is: " << decimalToBase(decimal, p) << std::endl;
return 0;
}
```
在这个例子中,`decimalToBase()`函数会返回一个表示给定十进制数在指定基数下的等效字符串。
阅读全文