एक मजबूत संख्या क्या है?
एक प्रबल संख्या वह होती है जो उसके अंकों के भाज्य के योग के बराबर होती है।
उदाहरण
145 Factorial of 1=1 Factorial of 4=24 Factorial of 5=120 Sum=1+24+120 =145
निम्नलिखित कार्यक्रम यह पता लगाना है कि इनपुट संख्या एक मजबूत संख्या है या नहीं। यदि संख्या एक मजबूत संख्या है, तो 'सही' लौटाएं, अन्यथा 'गलत' लौटाएं।
-
हम दो कार्यों का उपयोग कर रहे हैं isStrong() जो निर्धारित करता है कि संख्या मजबूत है या नहीं, दूसरी विधि है factorial() जो पारित अंक का भाज्य देता है।
-
तथ्यात्मक () अंदर से कहा जाता है isStrong() सभी अंकों का भाज्य प्राप्त करने के लिए(n%10) और इसे योग में जोड़ें।
-
सभी अंकों के फैक्टोरियल के योग के बाद, योग की तुलना मूल संख्या से की जाती है, यदि वे बराबर हैं, तो सत्य लौटाया जाता है, अन्यथा असत्य लौटाया जाता है।
-
हम कॉपी क्यों कर रहे हैं n संख्या . में में isStrong() ? जबकि लूप के माध्यम से पुनरावृति करने पर, 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