কম্পিউটার

পাইথনে প্রদত্ত ফ্লোটিং পয়েন্ট নম্বর জোড় বা বিজোড় কিনা তা পরীক্ষা করুন


ধরুন আমাদের একটি ফ্লোটিং পয়েন্ট নম্বর আছে; সংখ্যাটি বিজোড় নাকি জোড় তা আমাদের পরীক্ষা করতে হবে। সাধারণভাবে, পূর্ণসংখ্যার জন্য শেষ অঙ্কটিকে 2 দ্বারা ভাগ করা সহজ। কিন্তু ভাসমান বিন্দু সংখ্যার জন্য এটি সোজাভাবে এগিয়ে যায় না। এটি বিজোড় নাকি জোড় তা পরীক্ষা করার জন্য আমরা শেষ সংখ্যাটিকে 2 দিয়ে ভাগ করতে পারি না।

সুতরাং, যদি ইনপুটটি n =200.290 এর মত হয়, তবে শেষ সংখ্যাটি 2 দ্বারা বিভাজ্য হলেও আউটপুটটি বিজোড় হবে।

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

  • s :=সংখ্যাকে স্ট্রিং হিসাবে রূপান্তর করুন
  • পতাকা :=মিথ্যা
  • s - 1 থেকে 0 এর রেঞ্জের আকারের i জন্য, 1 দ্বারা হ্রাস করুন, করুন
    • যদি s[i] হয় '0' এবং পতাকা হয় False, তাহলে
      • পরবর্তী পুনরাবৃত্তির জন্য যান
    • যদি s[i] '.' এর মত হয়, তাহলে
      • পতাকা :=সত্য
      • পরবর্তী পুনরাবৃত্তির জন্য যান
    • যদি s[i] জোড় হয়, তাহলে
      • রিটার্ন "Even"
    • রিটার্ন "বিজোড়"

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

উদাহরণ কোড

def solve(n) :
   s = str(n)

   flag = False
   for i in range(len(s) - 1, -1, -1) :
      if s[i] == '0' and flag == False :
         continue
  
      if s[i] == '.':
         flag = True
         continue
        
      if int(s[i]) % 2 == 0 :
         return "Even"
           
      return "Odd"    

n = 200.290
print(solve(n))

ইনপুট

200.290

আউটপুট

Odd

  1. পাইথনে N একটি ডিহেড্রাল প্রাইম নম্বর কিনা তা পরীক্ষা করুন

  2. পাইথনে ভাজকের সংখ্যা জোড় বা বিজোড় কিনা তা পরীক্ষা করুন

  3. প্রদত্ত নম্বরটি পাইথনে নার্সিসিস্টিক নম্বর কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম

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