Python程序:计算产品几天后的价格


假设一个人想购买价格为x的产品。但每过一天,产品价格就会增加到前一天价格的x倍。我们需要计算出自从这个人决定购买产品以来,y天后的产品价格。如果产品价格过高,则答案为价格模10^9 + 7。输入是一个对列表;对的第一个值是初始价格x,第二个值是y,即已过去的天数。

因此,如果输入类似于nums = [(5, 2), (6, 8), (2, 12), (2722764242812953792238894584, 3486705296791319646759756475), (1505449742164712795427942455727527, 61649494321438487460747056421546274264)],则输出将是25, 1679616, 4096, 754504594, 32955023

这里的输出是5^2 = 25,6^8 = 1679616,2^12 =4096,2722764242812953792238894584^3486705296791319646759756475 = 754504594(该值以模10^9 + 7给出),等等。

为了解决这个问题,我们将遵循以下步骤:

  • 对于范围从0到nums大小的i,执行以下操作:
    • x,y := nums[i, 0], nums[i, 1]
    • 返回x的y次方模10^9 + 7

示例

让我们看看下面的实现,以便更好地理解:

 在线演示

def solve(nums):
for i in range(len(nums)) :
   x,y = nums[i][0], nums[i][1]
   print(pow(x,y,1000000007))
solve([(5, 2),(6, 8),(2, 12)
,(2722764242812953792238894584, 3486705296791319646759756475)
,(1505449742164712795427942455727527, 61649494321438487460747056421546274264)])

输入

[(5, 2),(6, 8),(2, 12)
,(2722764242812953792238894584, 3486705296791319646759756475)
,(1505449742164712795427942455727527, 61649494321438487460747056421546274264)]

输出

25
1679616
4096
754504594
32955023

更新于:2021年5月18日

1K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告