Python程序:找到经过若干天后产品的价格

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(值以 value modulo 10^9 + 7 给出),依此类推。

要解决这个问题,我们将按照以下步骤进行−

  • 对于i在范围0到nums的大小,执行
    • 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程