[英]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.