C++ 十进制转三进制算法实现
以下是一个 C++ 程序,用于将十进制数转换为三进制数:
#include <iostream>
#include <vector>
std::vector<int> decimalToTernary(int decimal) {
std::vector<int> ternary;
while (decimal > 0) {
int remainder = decimal % 3;
ternary.push_back(remainder);
decimal /= 3;
}
return ternary;
}
int main() {
int decimal;
std::cout << 'Enter a decimal number: ';
std::cin >> decimal;
std::vector<int> ternary = decimalToTernary(decimal);
std::cout << 'Ternary representation: ';
for (int i = ternary.size() - 1; i >= 0; i--) {
std::cout << ternary[i];
}
return 0;
}
该程序首先定义了一个函数decimalToTernary,该函数接受一个十进制数作为参数,并返回一个存储三进制表示的向量。在函数内部,使用循环将十进制数转换为三进制数,并将每个位的余数存储在向量中。
在main函数中,程序首先提示用户输入一个十进制数,并将输入存储在decimal变量中。然后,程序调用decimalToTernary函数将十进制数转换为三进制数,并将结果存储在ternary向量中。最后,程序使用循环遍历ternary向量,并以相反的顺序打印出三进制表示。
原文地址: https://www.cveoy.top/t/topic/o8hK 著作权归作者所有。请勿转载和采集!