ধরুন আমাদের দুটি স্ট্রিং আছে 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