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

পাইথনে AP সিরিজের প্রথম টার্ম বের করা যা দেওয়া প্রাইমের গুণিতক

ধরা যাক একটি AP সিরিজের প্রথম টার্ম (A) এবং কমন ডিফারেন্স (d) দেওয়া আছে, এবং একটি প্রাইম নম্বর P। আমাদের AP-এ সেই প্রথম উপাদানের পজিশন বের করতে হবে যা P-এর গুণিতক।

ইনপুট: A=3, D=4, P=5 → আউটপুট 3 (চতুর্থ টার্ম 15 যা 5-এর গুণিতক: 3, 7, 11, 15)।

সমাধানের ধাপসমূহ (মডুলার অ্যরিথমেটিক + ফার্মাস লিটল থিওরেম)

  • get_pow(x, y, p): মডুলার এক্সপোনেনশিয়েশন (x^y mod p)
  • মেইন ফাংশন get_nearest(A, D, P):
    • A %= P; D %= P
    • যদি A==0: return 0
    • যদি D==0: return -1
    • অন্যথায়: X = get_pow(D, P-2, P) (মডুলার ইনভার্স); return (X * (P - A)) % P

উদাহরণ

def get_pow(x, y, p):
    ans = 1
    x = x % p
    while y > 0:
        if y & 1:
            ans = (ans * x) % p
        y >>= 1
        x = (x * x) % p
    return ans
def get_nearest(A, D, P):
    A %= P
    D %= P
    if A == 0: return 0
    elif D == 0: return -1
    else:
        X = get_pow(D, P - 2, P)
        return (X * (P - A)) % P
A = 3; D = 4; P = 5
print(get_nearest(A, D, P))

ইনপুট

A = 3 D = 4 P = 5

আউটপুট

3
  1. পাইথনে সর্টেড অ্যারেতে এলিমেন্টের প্রথম এবং শেষ পজিশন খুঁজে বের করা

  2. পাইথনে প্রাইম নম্বর খুঁজে বের করার বিভিন্ন পদ্ধতি

  3. পাইথন প্রোগ্রাম: ২ডি অ্যারে-তে k-তম ছোট এলিমেন্ট বের করা

  4. পাইথনে লিস্টে একটি আইটেমের ইনডেক্স কীভাবে খুঁজে বের করবেন?