मान लीजिए, एक व्यक्ति x कीमत का उत्पाद खरीदना चाहता है। लेकिन प्रत्येक बीतते दिन के साथ, उत्पाद की कीमत पिछले दिन की कीमत के x गुना बढ़ जाती है। हमें उस दिन के बाद उत्पाद की कीमत ढूंढनी है जब से व्यक्ति ने उत्पाद खरीदने का मन बनाया है। यदि उत्पाद की कीमत बहुत अधिक है, तो उत्तर कीमत मॉड्यूलो 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 के रूप में दिया गया है), और इसी तरह।
हल करने के चरण
- 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