首先看问题:
有一天一个江湖传说中的奥数高手冷冷地问我:你知道2000个5(5555555555)除以84的余数是多少吗?给你5分钟时间。如果你遇到他,你几秒可以KO他?快来亮出你的KO秘籍吧。
我打开PythonIDLE5秒钟告诉了他答案,看到屏幕上只有一行代码,他的脸在风中抽搐着。
首先看到这个题,如果死算那不知道要到何时才能算出,但是运用程序可以很快得出结果。
用python来解决的话,不管有几个数,都可以用序列的方法复制扩列,然后得出答案。
我们知道序列可以复制,【n】*3就是【n,n,n】;‘n‘*5就是‘nnnnn’;
所以2000个5我们可以这样表示‘5’*2000
但是这样毕竟是序列,要运算必须是数与数之间做运算,这里可以用int强转然后即可做运算
即:print(int('5'*2000)%84)即可得到结果
PS:我们知道python强大在于它有很多的库供我们调用,用divmod()函数也可以算出答案
divmod(int('5'*2000),84)
result = 55