定制“非常长的Int”部门问题

时间:2010-03-26 17:06:57

标签: c++ class division

因此,对于C ++中一个非常愚蠢的项目,我们正在创建自己的长整数类,称为VLI(Very Long Int)。它的工作方式(他们支持它,将它们归咎于愚蠢)是这样的:

  1. 用户输入最多50位数字,以字符串形式输入。
  2. 字符串存储在预先制作的Sequence类中,该类以相反的顺序将字符串存储在数组中。
  3. 这意味着,当输入“1234”时,它将被存储为[4 | 3 | 2 | 1]。

    所以,我的问题是:我怎样才能仅使用这些字符数组进行除法?

    如果输入的答案超过32位,我不能用int来检查东西,他们基本上说在这里使用长整数是作弊。

    欢迎提出任何意见,如果需要,我可以给予更多澄清,谢谢大家。

3 个答案:

答案 0 :(得分:3)

实施您在小学时学到的长分算法。

首先实施减法。创建一个函数,可以从输入中删除任何数字。然后你应该能够检测结果是否为负数。修改此函数以允许在减去...之前对数字进行字符串移位。

答案 1 :(得分:1)

拿出你的学校数学书,几年前你在学校做过手工分工我想。原理完全相同:)

答案 2 :(得分:1)

Potatoswatter是正确的。我过去编写了一个Pascal程序,它将任意长度的数字作为字符串,它也可以计算平方根。

以下是长篇文章的提醒:Long Division to Decimal Places