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
广告