【问题标题】:How to generate number sequence of base 3如何生成以 3 为底的数列
【发布时间】:2014-03-13 01:17:00
【问题描述】:

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

问题是我不知道怎么写。我尝试搜索但没有得到任何相关链接。有人可以向我提供如何做到这一点的概念,然后我将对此进行编码。

谢谢。

【问题讨论】:

  • 什么编程语言?请适当标记。
  • 请更清楚您的问题。您是否要求长度为 n 的数字序列,其中所有数字都是以 3 为底的数字。
  • 在问题中包含示例输入和预期输出总是一个好主意。

标签: algorithm binary numbers base


【解决方案1】:

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

假设给你一个数字,你可以很简单地得到 base-n 表示的字符。例如:

desiredBase = 3;
number = 42;

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

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

哦,负数有点奇怪。

您可能会寻找 C 函数 itoa 的源代码,该函数将创建给定数字的 base-n 表示。通过 Google 搜索,您应该可以轻松找到。

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

【讨论】:

  • 为什么 n 除以所需的基数?对不起,如果这个问题太傻了,但我需要知道这一点。
  • @hgupta:如果您要转换为基数 10,请考虑这些步骤。首先您取 42 % 10 并得到 2。因此您输出数字 2。然后除以 10,您的数字是 4 . 你取4 % 10 得到 4。你输出 4,除以 10,你的数字是 0。你完成了。
猜你喜欢
  • 1970-01-01
  • 2020-12-29
  • 2018-07-23
  • 1970-01-01
  • 2022-12-07
  • 1970-01-01
  • 1970-01-01
  • 2020-01-27
  • 2021-05-20
相关资源
最近更新 更多