ধরুন আমাদের দুটি স্ট্রিং আছে str1 এবং str2, আমাদেরকে L দৈর্ঘ্যের বেশ কিছু জাদুকরী জোড়া খুঁজে বের করতে হবে। প্রতিটি সূচক I, str1[i]
পদ্ধতি সহজ. আমরা দেখতে পাচ্ছি, যদি দৈর্ঘ্য L =1 হয়, এবং সূচী i =1 'a' ধরে থাকে, str1 তে, তাহলে 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