gpt4 book ai didi

c++ - 将数字从 base-10 转换为另一个 base

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:31 27 4
gpt4 key购买 nike

我尝试了以下代码将数字从 base-10 转换为另一个 base。如果目标基地中没有零(0),它就会工作。检查 79 和 3 并正确打印正确的 2221。现在尝试数字 19 和 3,结果将是 21 而不是 201,这表明有问题。

int x, y, a = 0, i, t, j;
cout << "enter two numbers" << endl;
cin >> x >> y; // x as the number in base-10 and x, as the destination base
a = x;
while (x >= y)
{
t = 1;
for (i = 0; x > y; i++)
{
x /= y;
}
cout << x;
for (j = 0; j < i; j++)
{
t *= y;
}
a = a - (t*x);
x = a;
}
cout << x<<endl;

最佳答案

对于您要完成的任务,使用递归函数比使用 while 循环更容易。

这是工作程序。

#include <iostream>

void printInBase(int x, int y)
{
if ( x < y )
{
std::cout << x;
return;
}

int rem = x%y;
printInBase(x/y, y);
std::cout << rem;
}

int main()
{
int x, y;
std::cout << "enter two numbers" << std::endl;
std::cin >> x >> y; // x as the number in base-10 and x, as the destination base
printInBase(x, y);
std::cout << '\n';
}

关于c++ - 将数字从 base-10 转换为另一个 base,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493701/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com