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

পাইথন প্রোগ্রাম লিখুন একটি সংখ্যা স্ট্রং নম্বর কিনা তা নির্ধারণ করতে

স্ট্রং নম্বর কী?

একটি স্ট্রং নম্বর হল এমন একটি সংখ্যা যা তার অঙ্কগুলোর ফ্যাক্টোরিয়ালের যোগফলের সমান।

উদাহরণ

১৪৫: ১-এর ফ্যাক্টোরিয়াল = ১, ৪-এর ফ্যাক্টোরিয়াল = ২৪, ৫-এর ফ্যাক্টোরিয়াল = ১২০
যোগফল = ১ + ২৪ + ১২০ = ১৪৫

নিচের প্রোগ্রামটি ইনপুট সংখ্যাটি স্ট্রং নম্বর কিনা তা যাচাই করে। সংখ্যা স্ট্রং হলে 'True' রিটার্ন করে, অন্যথায় 'False'।

  • দুটি ফাংশন ব্যবহার করা হয়েছে: isStrong() - সংখ্যাটি স্ট্রং কিনা তা নির্ধারণ করে, এবং factorial() - দেওয়া অঙ্কের ফ্যাক্টোরিয়াল রিটার্ন করে।

  • isStrong() ফাংশনের ভেতর থেকে factorial() কল করা হয় প্রতিটি অঙ্কের (n%10) ফ্যাক্টোরিয়াল বের করে যোগফলে যোগ করতে।

  • সব অঙ্কের ফ্যাক্টোরিয়াল যোগ করার পর, যোগফলটি মূল সংখ্যার সাথে তুলনা করা হয়। সমান হলে true, অন্যথায় false রিটার্ন করা হয়।

  • isStrong() ফাংশনে n কে num-এ কপি কেন করা হয়েছে? হোয়াইল লুপে পুনরাবৃত্তির সময় n-এর মান শূন্য হয়ে যায়। কিন্তু পরে যোগফলের সাথে তুলনা করার জন্য মূল মানটি রাখতে হয়, তাই n কে num-এ কপি করা হয়েছে।

  • factorial() ফাংশনটি রিকার্শন ব্যবহার করে অঙ্কগুলোর ফ্যাক্টোরিয়াল হিসাব করে।

প্রোগ্রাম উদাহরণ

def factorial(d):
    if d == 1 or d == 0:
        return 1
    return d * factorial(d - 1)

def isStrong(n):
    num = n
    sm = 0
    while n > 0:
        digit = n % 10
        sm = sm + factorial(digit)
        n = n // 10
    if sm == num:
        return True
    else:
        return False

print("একটি সংখ্যা ইনপুট দিন")
a = int(input())
print(isStrong(a))

আউটপুট

একটি সংখ্যা ইনপুট দিন 145
True
  1. পাইথনে লিস্ট থেকে সর্বোচ্চ সংখ্যা বের করা

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

  3. পাইথনে ফ্যাক্টোরিয়াল (factorial) বের করার তিনটি পদ্ধতি

  4. পাইথন প্রোগ্রাম: কোনো সংখ্যা প্রাইম কিনা তা যাচাই করা