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

পাইথনে ল্যাম্বডা ও রিডিউস দিয়ে অড নাম্বার অফ টাইমস অকারেন্স বের করা (Find Number Occurring Odd Times)


সমস্যা বিবরণ

একটি লিস্টে একটি সংখ্যা অড (বিজোড়) বার আয়ত্ত হয়, বাকিগুলো ইভেন (জোড়) বার। সেই সংখ্যাটি ল্যাম্বডা ও রিডিউস ফাংশন ব্যবহার করে বের করুন।

উদাহরণ

listA = [12, 34, 12, 12, 34] → আউটপুট: 12

১২: ৩ বার (অড), ৩৪: ২ বার (ইভেন)।

লজিক: XOR অপারেশন

  • a ^ a = 0, a ^ 0 = a।
  • ইভেন বার আয়ত্ত সংখ্যাগুলো XOR করলে ০ হয়ে যায়।
  • অড বার আয়ত্ত সংখ্যাটি অবশিষ্ট থাকে।

পাইথন বাস্তবায়ন

from functools import reduce

def odd_count(lst):
    return reduce(lambda x, y: x ^ y, lst)

listA = [12, 34, 12, 12, 34]
print("Given list:", listA)
print("Element occurring odd times:", odd_count(listA))  # 12

আউটপুট

12
  1. পাইথনে রিকার্শন ব্যবহার করে একটি সংখ্যার ঘাত (Power) বের করা

  2. Python-এ একটি সংখ্যার ফ্যাক্টোরিয়াল (Factorial) বের করা

  3. পাইথন রেগুলার এক্সপ্রেশনে ট্যাব এবং নিউলাইন রিমুভ করবেন?

  4. পাইথন ফাংশনের আর্গামেন্ট সংখ্যা বের করার পদ্ধতি