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

Python-এ সংখ্যার ইভেন প্লেসের ডিজিটগুলোর গুণফল K দিয়ে বিভাজ্য কিনা যাচাই করা


মান লেন, আমাদের কাছে একটি সংখ্যা n এবং অন্য একটি সংখ্যা k আছে। আমাদের যাচাই করতে হবে n-এর ইভেন প্লেসের ডিজিটগুলোর গুণফল k দিয়ে বিভাজ্য কিনা। প্লেস কাউন্ট ডান থেকে বামে শুরু হয়। ডানতম পজিশন ১।

যেমন, ইনপুট হলে n = 59361, তবে আউটপুট হবে True কারণ (1*3*5) 3 দিয়ে বিভাজ্য।

এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:

  • digit_count := দেওয়া সংখ্যা n-এর ডিজিট কাউন্ট।
  • prod := 1
  • যখন n > 0, তখন লুপ চালান:
    • যদি digit_count সম (even) হয়, তবে prod := prod * n-এর শেষ ডিজিট।
    • n := n / 10 এর ভাগফল।
    • digit_count := digit_count - 1
  • যদি prod k দিয়ে বিভাজ্য হয়, তবে True রিটার্ন করুন।
  • False রিটার্ন করুন।

উদাহরণ কোড

from math import log10

def solve(n, k):
    digit_count = int(log10(n)) + 1
    prod = 1
    while n > 0:
        if digit_count % 2 == 0:
            prod *= n % 10
        n = n // 10
        digit_count -= 1
    if prod % k == 0:
        return True
    return False

n = 59361
k = 3
print(solve(n, k))

ইনপুট

59361, 3

আউটপুট

True

  1. পাইথনে একটি সংখ্যা ডাইহেড্রাল প্রাইম (Dihedral Prime) কিনা যাচাই করা

  2. পাইথনে অ্যারেয়ের সব ডিজিট ব্যবহার করে ৩ দিয়ে বিভাজ্য সংখ্যা বানানো সম্ভব কিনা চেক করা

  3. পাইথনে একটি সংখ্যা প্রাইম (Prime) কিনা তা কীভাবে যাচাই করবেন?

  4. Python-এ সংখ্যা বিজোড় নাকি জোড় চেক করা