কম্পিউটার টিউটোরিয়াল

পাইথনে একটি সংখ্যা n বার কনক্যাটেনেট করে মডুলাস বের করা

একটি সংখ্যা A দেওয়া আছে। এটাকে n বার সারিয়ে একটি বড় সংখ্যা X বানাতে হবে এবং X mod m বের করতে হবে।

উদাহরণ

ইনপুট: A = 15, n = 3, m = 8

আউটপুট: 3

কারণ X = 151515, এবং 151515 mod 8 = 3।

সমাধান পদ্ধতি

  1. যদি A == 0 হয়, 0 রিটার্ন করুন।
  2. an := A
  3. c := A-র ডিজিট সংখ্যা
  4. c := 10^c
  5. d := c - 1
  6. newmod := d * m
  7. val := (c^n mod newmod) - 1
  8. val := (val + newmod) % newmod
  9. an := (an * val) % newmod
  10. an // d রিটার্ন করুন।

পাইথন ইমপ্লিমেন্টেশন

def solve(A, n, m):
    if A == 0:
        return 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
    return an // d

# টেস্ট
A = 15
n = 3
m = 8
print(solve(A, n, m))  # আউটপুট: 3

ইনপুট

15, 3, 8

আউটপুট

3
  1. পাইথনে BST-এ নির্দিষ্ট রেঞ্জে থাকা নোডের সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. পাইথন প্রোগ্রাম লিস্টে সবচেয়ে ছোট সংখ্যা বের করা

  3. একটি সংখ্যার সম ফ্যাক্টরের যোগফল বের করার পাইথন প্রোগ্রাম

  4. পাইথনে লিস্ট থেকে সর্বোচ্চ সংখ্যা বের করা