একটি শক্তিশালী সংখ্যা কি?
একটি শক্তিশালী সংখ্যা হল এমন একটি যা তার অঙ্কগুলির ফ্যাক্টরিয়ালের যোগফলের সমান৷
উদাহরণ
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