如果我有两个数字A和B,并且我想计算A和B的A%B非常大(最大为10 ^ 100),两者都存储在字符串中,我该如何实现?
答案 0 :(得分:1)
10 ^ 100实际上并没有那么大,因此您可以使用Python之类的语言,该语言对长整数的大小没有明确定义的限制。
如果只想进行一次计算,则可以使用here之类的大数计算器。
答案 1 :(得分:1)
如果您想解决这个问题,可以直接在字符串表示形式上实现除法算法。
两个数字相加并不大(从右至左,将ASCII值相加并减去0;必要时进行进位)。减法相似。而且两个数字的比较也非常相似。
数字与数字的乘积也是可以管理的(从右到左,将ASCII->转换为数字,执行乘法并将最右边的数字转换为ASCII;进位可以更大,但可以容纳一个整数)。
关键操作是:给定一个除数和一个除数,找到商的最左位数。
例如
3452 : 27
27在34中适合一次,因此第一个数字为1。现在减去并得到下一个数字
3452
-27
= 752
27在75中适合2次,并且
752
-54
=212
最后,27个在212中合计7次,
212
-189
= 23
剩下的。