मान लीजिए कि हमारे पास दो तार str1 और str2 हैं, हमें लंबाई L के कई जादुई जोड़े खोजने हैं। दो तार जादुई होंगे यदि प्रत्येक अनुक्रमणिका I के लिए, str1[i]
दृष्टिकोण सरल है। जैसा कि हम देख सकते हैं, यदि लंबाई L =1 है, और अनुक्रमणिका i =1 str1 में 'a' धारण कर रहा है, तो str2 का अनुक्रमणिका i =1 'b' से 'z' तक रहेगा, इसलिए अगले वर्ण के लिए 25 संयोजन यह 24 संयोजन होगा, इसलिए यह 25 + 24 + होगा। . . + 1 =325. अब L =2 के लिए, यह 3252 होगा। L की लंबाई के लिए, यह 325L होगा। यदि यह बहुत बड़ा है, तो मापांक 109 ज्ञात कीजिए।उदाहरण
#include<iostream>
#include<cmath>
using namespace std;
int power(int a, unsigned int b, int mod) {
int res = 1;
a = a % mod;
while (b > 0) {
if (b & 1)
res = (res * a) % mod;
b = b >> 1;
a = (a * a) % mod;
}
return res;
}
int main() {
int L = 2, P = pow(10, 9);
int res = power(325, L, P);
cout << "Combinations: " << res << endl;
}
आउटपुट
Combinations: 105625