Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

प्लस परफेक्ट नंबर की जांच के लिए सी प्रोग्राम

n अंकों की संख्या के साथ एक संख्या x को देखते हुए, हमारा कार्य यह जांचना है कि दी गई संख्या का प्लस परफेक्ट नंबर है या नहीं। यह जांचने के लिए कि संख्या प्लस परफेक्ट नंबर है, हम प्रत्येक अंक d (d ^ n) की n वीं शक्ति पाते हैं और फिर सभी अंकों का योग करते हैं, यदि योग n के बराबर है तो संख्या प्लस परफेक्ट नंबर है। प्लस परफेक्ट नंबर किसी भी संख्या के आर्मस्ट्रांग को खोजने जैसा ही है।

जैसे नीचे दिए गए उदाहरण में -

प्लस परफेक्ट नंबर की जांच के लिए सी प्रोग्राम

उदाहरण

Input: 163
Output: Number is not a perfect_number
Explanation: 1^3 + 6^3 + 3^3 is not equal to 163
Input: 371
Output: Number is a perfect_number
Explanation: 3^3 + 7^3 +1^3 is equal to 371

नीचे इस्तेमाल किया गया तरीका इस प्रकार है -

  • पहला कदम दिए गए इनपुट में अंकों की संख्या गिनना है।
  • दूसरा चरण एक अंक को उतनी ही बार शक्ति देना है जितनी बार इनपुट के अंकों की संख्या।
  • तीसरा चरण सभी संख्याओं को जोड़ रहा है और जांचें कि यह बराबर है या नहीं।

एल्गोरिदम

Start
In function int power(int a, int b)
   Step 1-> Declare and initialize power as 1
   Step 2-> Loop While b>0
      Set power = power * a
      Decrement b by 1
   Step 3-> return power
End function power
In function int count(int n)
   Step 1-> Declare and Initialize i as 0
   Step 2-> Loop While n!=0
      Increment i by 1
      Set n = n/10
   End Loop
   Step 3-> Return i
In function int perfect_number(int n)
   Step 1-> Declare and initialize x as count(n)
   Step 2-> Declare and initialize rem as 0 and m as 0
   Step 3-> Loop While(n)
      Set rem as n %10
      Set m as m + power(rem, x)
      Set n as n/ 10
   End Loop
   Step 4-> Return m
End Function perfect_number
In Function int main(int argc, char const *argv[])
   Step 1-> Initialize n as 1634
   Step 2-> If n == perfect_number(n) then,
      Print "Number is a perfect_number "
   Step 3-> else
      Print "Number is not a perfect_number "
   End if
End main
Stop

उदाहरण

#include <stdio.h>
int power(int a, int b) {
   int power =1;
   while(b>0) {
      power *= a;
      b--;
   }
   return power;
}
int count(int n) {
   int i=0;
   while(n!=0) {
      i++;
      n = n/10;
   }
   return i;
}
int perfect_number(int n) {
   int x = count(n);
   int rem = 0, m=0;
   while(n) {
      rem = n %10;
      m += power(rem, x);
      n /= 10;
   }
   return m;
}
int main(int argc, char const *argv[]) {
   int n = 1634;
   if(n == perfect_number(n)) {
      printf("Number is a perfect_number\n");
   }
   else
   printf("Number is not a perfect_number\n");
   return 0;
}

आउटपुट

यदि उपरोक्त कोड चलाया जाता है तो यह निम्न आउटपुट उत्पन्न करेगा -

Number is a perfect_number

  1. सी प्रोग्राम यह जांचने के लिए कि कोई ऐरे पालिंड्रोम है या नहीं

    किसी भी आकार n की arr [] सरणी को देखते हुए, हमारा कार्य यह पता लगाना है कि सरणी पैलिंड्रोम है या नहीं। पैलिंड्रोम एक अनुक्रम है जिसे पीछे और आगे की तरह पढ़ा जा सकता है, जैसे:मैडम, नमन, आदि। तो एक सरणी की जांच करने के लिए पैलिंड्रोम है या नहीं, इसलिए हम एक सरणी को पीछे और आगे से पार कर सकते हैं जैसे

  1. प्राइम नंबर चेक करने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक नंबर दिया गया है, हमें यह जांचना होगा कि दी गई संख्या एक अभाज्य संख्या है या नहीं। 1 से बड़ी दी गई धनात्मक संख्या जिसका 1 के अलावा कोई अन्य गुणनखंड नहीं है और संख्या ही अभाज्य संख्या कहलाती है। 2, 3, 5, 7, आ

  1. आर्मस्ट्रांग नंबर की जांच के लिए पायथन प्रोग्राम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक पूर्णांक n दिया गया है, हमें यह जांचना होगा कि दिया गया पूर्णांक एक आर्मस्ट्रांग संख्या है। एक धनात्मक पूर्णांक को आर्मस्ट्रांग क्रमांक n कहा जाता है यदि abcd... = a^n + b^n + c^n + d^n + &hel