[英]Finding last digits with modulo from a million digits int; need an explanation?
假设我有一个随机的百万位数= x,这样:
len(str(x)) = 1000000
通过查看一些解释,我可以使用x%(10 ** n)查找最后n个数字。 但是我无法确定为什么这样做。
这样,如果我想找到x的最后11位数字,我的代码将是:
x % (10 ** 11)
有人可以帮我一下吗?
这样想:
如果要查找数字的最后n位数字,可以将其除以10 ** n,除法的其余部分将是数字的最后n位数字。 用数学术语来说,数字x
的最后n
数字由下式给出:
x % (10 ** n)
如果您不知道,模运算符(%)将两个数相除并返回余数 。
%
返回除法后的余数,就像在小学学习长除法时一样。 因此7%3 = 1
。 我猜您知道**
是幂运算,所以10**3 = 1000
。 您的示例x % (10**11)
将x
除以10**11
并告诉您余数。 一旦您拿走了10**11
的最大可能倍数,换句话说就是最后n
数字,那一定是剩下的数字。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.