ধরুন আমাদের একটি সংখ্যা A আছে। আমাদের একটি সারিতে A, n বার সংযুক্ত করে একটি বড় সংখ্যা X তৈরি করতে হবে এবং X মডুলো m এর মান বের করতে হবে।
সুতরাং, যদি ইনপুটটি A =15 n =3 m =8 এর মত হয়, তাহলে আউটপুট হবে 3, কারণ x সংখ্যা হবে 151515, এবং 151515 মোড 8 =3।
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
- যদি A 0 এর সমান হয়, তাহলে
- রিটার্ন 0
- an:=A
- c:=A-তে সংখ্যার সংখ্যা
- c:=10^c
- d:=c-1
- newmod :=d*m
- val :=(c^n mod newmod) -1
- val :=(val + newmod) mod newmod
- an :=(an * val) mod newmod
- (an / d) এর রিটার্ন ফ্লোর
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
def সমাধান(A, n, m):যদি A ==0:ফেরত দেয় 0 an=A c=len(str(A)) c=10**c d=c-1 newmod =d*m val =pow(c,n,newmod)-1 val =(val+newmod) % newmod an =(an*val) % newmod রিটার্ন an // dA =15n =3m =8print(solve(A, n, m))প্রে>ইনপুট
15, 3, 8আউটপুট
3