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

পাইথনে সম সংখ্যক ডিজিট বিশিষ্ট নম্বর খুঁজুন (Find Numbers with Even Number of Digits in Python)


সমস্যা বিবরণ

একটি নম্বর লিস্ট দেওয়া আছে। যেসব নম্বরের ডিজিট সংখ্যা সম (even), তাদের কাউন্ট করতে হবে।

উদাহরণ: [12, 345, 2, 6, 7896] → আউটপুট ২ (কারণ ১২ এবং ৭৮৯৬-এ সম সংখ্যক ডিজিট)।

সমাধানের পদ্ধতি

  1. লিস্টের প্রতিটি ইন্টিজারকে স্ট্রিং-এ কনভার্ট করুন।
  2. স্ট্রিংয়ের দৈর্ঘ্য (len) চেক করুন - যদি সম হয় (len % 2 == 0) তবে কাউন্ট বাড়ান।
  3. শেষে কাউন্ট ফেরত দিন।

পাইথন উদাহরণ

class Solution(object):
    def findNumbers(self, nums):
        str_num = map(str, nums)
        count = 0
        for s in str_num:
            if len(s) % 2 == 0:
                count += 1
        return count

ob1 = Solution()
print(ob1.findNumbers([12, 345, 2, 6, 7897]))

ইনপুট

[12, 345, 2, 6, 7897]

আউটপুট

2

বিকল্প পদ্ধতি (গাণিতিক)

import math

def findNumbers(nums):
    count = 0
    for num in nums:
        # ডিজিট সংখ্যা = floor(log10(num)) + 1
        digits = int(math.log10(num)) + 1 if num > 0 else 1
        if digits % 2 == 0:
            count += 1
    return count
  1. C++-এ অদ্বিতীয় ডিজিটযুক্ত সংখ্যা গণনা

  2. পাইথন প্রোগ্রাম - n নোড দিয়ে BST-এর সংখ্যা বের করুন

  3. একটি সংখ্যার সম ফ্যাক্টরের যোগফল বের করার পাইথন প্রোগ্রাম

  4. পাইথনে একটি সংখ্যার জোড় গুণনীয়গুলোর যোগফল বের করার প্রোগ্রাম