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