2

所以我有两个 arrayLists 代表两个数字。这样我就不必使用 BigInt。所以例如

ArrayList<Integer> LargeInt = [2,3,6,4] would really equal 2,364
ArrayList<Integer> LargeInt2 = [8,7,9,4,6] would be 87,946

我的目标是找出一种方法将这两个数字相乘并得出一个字符串的答案。我知道在放入字符串之前将两个数字相乘需要放入另一个数组中,这样它就不会因更大的数字而崩溃。我也知道这将是一个 for 循环放入另一个循环。但我发现很难制作一个将这两个数字相乘的代码。相乘的两个数组可以是任意数字。

4

1 回答 1

5

假设这是家庭作业,以下是您需要做的无代码说明:

  • 定义一个包装类ArrayList<Integer>;假设你称之为ArrayInt
  • 定义一个运算,将两个ArrayInts 相加,并返回ArrayInt等于它们总和的第三个。您可以逐位进行,注意可能进位到一个额外的数字,因此您需要相应地调整结果的大小。
  • 通过向数组列表添加零来定义一个将您的数字乘以十的幂的操作。同样,该操作应该返回一个新的ArrayInt,而不是修改当前的
  • 定义一个数字乘以一位数的运算。您可以使用乘法,或使用加法的简单循环。循环不会运行超过九次,所以应该不会太糟糕。
  • 将您拥有的三个运算(加法、数字乘法和十次方乘法)组合成您在小学学习的简单乘法算法。
于 2012-09-14T02:44:26.823 回答