计算非常大的指数的最佳方法是什么?

发布于 2025-01-23 12:37:46 字数 245 浏览 0 评论 0原文

我是Python的新手,我正在尝试解决一个编程问题,其中我必须将5计算为N th Power,一旦我拥有,我只需要输出最后两个该数字的数字。这是我下面写的代码:

print(str(pow(5, int(input())))[-2:])

大多数情况下,该代码正常运行,但是当输入是大数字之类的大量时,超过了500毫秒的时间

限制像这样的大量输入是指数,而没有超过时间限制?

I'm new to Python, and I'm trying to solve a programming problem where I have to compute 5 to the nth power, and once I have that, I just have to output the last two digits of that number. This is the code I wrote below:

print(str(pow(5, int(input())))[-2:])

The code works fine, for the most part, but exceeds the 500 ms time limit when the input is a large number like 1000000000000000000

What is the most efficient way to process such large inputs like this as an exponent without exceeding the time limit?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

苦笑流年记忆 2025-01-30 12:37:46

可以通过诱导表明5^n mod 100 = 25,对于所有n> = 2。当n = 2时,这很明显。假设5^n是100k+25的形式。然后5^(n+1)= 100(5k+1)+25,其中5^(n+1)mod 100 = 25。因此,所有n> = = 25 = 25。 2。

有效地计算A^n mod b的一些一般技巧包括用于计算A^n的重复平方,并且在每个步骤中计算保留数量,以使数字保持较小。

It can be shown by induction that 5^n mod 100 = 25, for all n >= 2. This is clear when n = 2. Suppose 5^n is of the form 100k+25. Then 5^(n+1) = 100(5k+1)+25, whence 5^(n+1) mod 100 = 25. Hence, the last two digits of 5^n is 25, for all n >= 2.

Some general tricks for computing a^n mod b efficiently include repeated squaring for computing a^n, and computing remainders in each step so that the numbers stay small.

柠檬色的秋千 2025-01-30 12:37:46

对于这类重型计算,您可以使用多处理来使用CPU核心将计算分解为几乎没有计算。
例如(虚拟示例)我们知道5^4等于625。因此,我们可以使用2个核心CPU来计算5^2,然后乘以结果。 5^2 * 5^2 = 625。

For these kinds of heavy calculations you can use Multi Processing to use CPU cores to break down the calculation to little calculation simultaneously.
For example (dummy example) we know 5^4 equals to 625. So we can use 2 cores of CPU to calculate 5^2, then multiply the result. 5^2 * 5^2 = 625.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文