如何生成基数3的数字序列

时间:2014-02-13 22:02:23

标签: algorithm binary numbers base

我正在尝试编写一个程序来生成基数为3的数字序列。该方法将采用输入n并将打印从0到n的所有序列。

问题在于我不知道如何写这个。我试过搜索但没有得到任何相关的链接。有人可以提供我如何做的概念,然后我会编码。

感谢。

1 个答案:

答案 0 :(得分:0)

这不是问题的完整解决方案,但它为您提供了处理所需内容的核心。你必须将它包装在一个函数中并构建一个循环来为每个数字调用该函数。

假设您有一个号码,您可以非常简单地获得base-n表示的字符。例如:

desiredBase = 3;
number = 42;

do
{
    digit = number % desiredBase;
    write(digit);
    number = number / desiredBase;
} (while number > 0)

那将以相反的顺序输出数字,但你明白了。在输出之前,你必须缓冲它们然后反转数字。

哦,负面数字有点奇怪。

您可能会查找C函数itoa的来源,它将创建给定数字的base-n表示。您应该能够通过Google搜索轻松找到这一点。

或者只是查看“数字基础转换”,你会得到很多点击量。