0

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

  1. 用户输入最多 50 位数字,以字符串形式输入。
  2. String 存储在预制的 Sequence 类中,该类以相反的顺序将字符串存储在数组中。

这意味着,当输入“1234”时,它被存储为 [4|3|2|1]。

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

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

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

4

3 回答 3

3

实现你在小学学到的长除法算法。

从实现减法开始。创建一个可以从输入中减去任何数字的函数。然后你应该能够检测结果是否为负。修改此函数以允许在减去之前对数字进行字符串移位...</p>

于 2010-03-26T17:13:17.010 回答
1

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

于 2010-03-26T17:14:05.323 回答
1

土豆泥是对的。我过去写了一个 Pascal 程序,它可以将任意长度的数字作为字符串处理,它也可以计算平方根。

这里提醒一下长除法的技巧:长除法到小数位

于 2010-03-26T18:25:25.890 回答