কম্পিউটার

একটি সংখ্যা শক্তিশালী সংখ্যা কিনা তা খুঁজে বের করতে একটি পাইথন প্রোগ্রাম লিখুন


একটি শক্তিশালী সংখ্যা কি?

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

উদাহরণ

145
Factorial of 1=1
Factorial of 4=24
Factorial of 5=120
Sum=1+24+120
   =145

নিম্নলিখিত প্রোগ্রামটি ইনপুট নম্বরটি একটি শক্তিশালী সংখ্যা কিনা তা খুঁজে বের করা। সংখ্যাটি শক্তিশালী সংখ্যা হলে 'সত্য' ফেরত দিন, অন্যথায় 'ফলস' দিন।

  • আমরা দুটি ফাংশন isStrong() ব্যবহার করছি যা নির্ধারণ করে সংখ্যাটি শক্তিশালী কিনা, দ্বিতীয় পদ্ধতি হল ফ্যাক্টরিয়াল() যা পাস করা অঙ্কের ফ্যাক্টরিয়াল প্রদান করে।

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

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

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

  • ফ্যাক্টরিয়াল() অঙ্কের ফ্যাক্টরিয়াল গণনা করতে পুনরাবৃত্তি ব্যবহার করে।

উদাহরণ

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("Input a number")
a=int(input())
print(isStrong(a))

আউটপুট

Input a number
145
True

  1. পাইথন প্রোগ্রাম একটি তালিকায় সবচেয়ে বড় সংখ্যা খুঁজে বের করতে

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

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

  4. একটি সংখ্যা প্রাইম কি না তা পরীক্ষা করার জন্য পাইথন প্রোগ্রাম