मान लीजिए, एक व्यक्ति x मूल्य का उत्पाद खरीदना चाहता है। लेकिन प्रत्येक बीतते दिन, उत्पाद की कीमत पिछले दिन की कीमत से x गुना बढ़ जाती है। हमें y दिनों के बाद उत्पाद की कीमत का पता लगाना होगा क्योंकि व्यक्ति ने उत्पाद खरीदने का मन बना लिया है। यदि उत्पाद की कीमत बहुत अधिक है, तो उत्तर मूल्य मॉड्यूलो 10^9 + 7 के रूप में दिया जाता है। इनपुट जोड़े की सूची में दिया गया है; जोड़ी का पहला मान प्रारंभिक मूल्य x है और दूसरा मान y है, जो दिन बीत चुके हैं।
इसलिए, यदि इनपुट अंकों की तरह है =[(5, 2), (6, 8), (2, 12), (2722764242812953792238894584, 3486705296791319646759756475), (1505449742164712795427942455727527, 6164943216,8487460747056421546274264)], तो आउटपुट 25 होगा। 4096, 754504594, 32955023
यहां आउटपुट 5^2 =25, 6^8 =1679616, 2^12 =4096,2722764242812953792238894584^3486705296791319646759756475 =754504594 (मान मॉड्यूलो 10^9 + 7 के रूप में दिया गया है), और इसी तरह।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- मैं के लिए 0 से लेकर अंकों के आकार तक, करें
- 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