কম্পিউটার

একটি সংখ্যার জোড় স্থানে অঙ্কের গুণফল পাইথনে K দ্বারা বিভাজ্য কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি সংখ্যা n, এবং আরেকটি সংখ্যা k, আমাদের পরীক্ষা করতে হবে n-এর জোড় স্থানে অঙ্কের গুণফলটি k দ্বারা বিভাজ্য কি না। স্থানগুলি ডান থেকে বামে গণনা শুরু হয়। সবচেয়ে ডান স্থানে 1.

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

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • digit_count :=প্রদত্ত সংখ্যার সংখ্যা সংখ্যা n
  • prod :=1
  • যখন n> 0, do
    • যদি digit_count জোড় হয়, তাহলে
      • prod :=prod * n এর শেষ সংখ্যা
    • n :=(n / 10) এর ভাগফল
    • digit_count :=digit_count - 1
  • যদি গুণফল k দ্বারা বিভাজ্য হয়, তাহলে
    • সত্য ফেরান
  • মিথ্যে ফেরত দিন

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

উদাহরণ কোড

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. পাইথনে N একটি ডিহেড্রাল প্রাইম নম্বর কিনা তা পরীক্ষা করুন

  2. একটি অ্যারের সমস্ত সংখ্যা ব্যবহার করে 3 সংখ্যা দ্বারা বিভাজ্য করা সম্ভব কিনা তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম

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

  4. পাইথন ব্যবহার করে একটি সংখ্যা বিজোড় বা জোড় কিনা তা কীভাবে পরীক্ষা করবেন?