Algorithm 如何为A和B查找%B是非常大的数字(存储在字符串中)

Algorithm 如何为A和B查找%B是非常大的数字(存储在字符串中),algorithm,modulus,mod,Algorithm,Modulus,Mod,如果我有两个数字A和B,我想计算A和B的%B,因为A和B非常大(大到10^100),它们都存储在字符串中,我该如何实现这一点呢?10^100实际上没有那么大,所以您可以使用Python之类的语言,它对长整数的大小没有明确定义的限制 如果您只想进行一次计算,您可以使用一个大数字计算器,如。如果您想有趣地进行计算,您可以直接在字符串表示上实现除法算法 两个数字相加没什么大不了的(从右到左,将ASCII值相加,然后减去0的值;必要时进行进位)。减法也是如此。两个数字的比较也非常相似 数字与数字的乘法也

如果我有两个数字A和B,我想计算A和B的%B,因为A和B非常大(大到10^100),它们都存储在字符串中,我该如何实现这一点呢?

10^100实际上没有那么大,所以您可以使用Python之类的语言,它对长整数的大小没有明确定义的限制


如果您只想进行一次计算,您可以使用一个大数字计算器,如。

如果您想有趣地进行计算,您可以直接在字符串表示上实现除法算法

两个数字相加没什么大不了的(从右到左,将ASCII值相加,然后减去0的值;必要时进行进位)。减法也是如此。两个数字的比较也非常相似

数字与数字的乘法也是可以管理的(从右到左,转换ASCII->digit,执行乘法并将最右边的数字转换为ASCII;进位可以更大,但适合整数)

关键操作是:给定一个除数和一个除数,找到商的最左边的数字

例如

27与34匹配一次,因此第一个数字是1。现在减去并得到下一个数字

 3452
-27
= 752
27在75中适合2次,并且

 752
-54
=212
最后,27在212和212中拟合7次

 212
-189
= 23

剩下的是什么。

什么语言?许多语言(例如Java和Python)都有这样做的方法。
大到10^100
是…的顺序值还是10^100的(十进制(?)位数的数量(单是基本转换就很有趣)?(:ASCII;)或char或ISO-8859或Unicorn或任何用于表示字符串中的数字
@greybeard:EBCDIC也是可能的。
 212
-189
= 23