Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में निरंतर ऑटोमोर्फिक संख्याओं की संख्या को अधिकतम करें


यह देखते हुए कि कार्य N तत्वों की संख्या के साथ किसी दिए गए सरणी में निरंतर ऑटोमोर्फिक तत्वों की संख्या को अधिकतम करना है।

एक ऑटोमोर्फिक संख्या एक संख्या है जिसका वर्ग उसी अंक के साथ समाप्त होता है जिसमें संख्या स्वयं होती है। उदाहरण के लिए 5 एक ऑटोमॉर्फिक संख्या है, क्योंकि 5*5 =25 और 25 5 पर समाप्त होता है।

आइए अब समझते हैं कि हमें एक उदाहरण का उपयोग करके क्या करना है -

इनपुट − arr[]={5,3,625,6,8,1}

आउटपुट -2

स्पष्टीकरण - उपरोक्त सरणी में मौजूद ऑटोमोर्फिक संख्याएं 5, 625, 6 और 1 हैं लेकिन अधिकतम निरंतर ऑटोमोर्फिक संख्याएं {625,6} हैं जो आउटपुट =2 बनाती हैं।

इनपुट − arr[]={33, 25, 1, 76, 4}

आउटपुट -3

निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • main() फंक्शन में int टाइप का वेरिएबल 'n' बनाएं और उसमें दिए गए ऐरे के साइज को स्टोर करें।

  • फंक्शन में MaxAutomorphic इनिशियलाइज़ करेंटमैक्स =0 और मैक्सिमम =0 दोनों प्रकार के int क्रमशः वर्तमान अधिकतम मान और अधिकतम मान को स्टोर करने के लिए।

  • i=0 से i

  • IsAutomophic() फंक्शन में एक वैरिएबल sqr=n*n टाइप int को इनिशियलाइज़ करें जो नंबर n के स्क्वेर को स्टोर करने के लिए है

  • शर्त n>0 के साथ जबकि लूप का उपयोग करके लूप करें और यह जांचने के लिए n और sqr के अंतिम अंकों की तुलना करें कि संख्या ऑटोमॉर्फिक है या नहीं।

  • मैक्सऑटोमोर्फिक () फ़ंक्शन में वापस, यदि संख्या ऑटोमॉर्फिक नहीं है तो CurrentMax=0 सेट करें

  • अन्यथा, यदि संख्या ऑटोमॉर्फिक पाई जाती है तो CurrentMax में 1 जोड़ें और अधिक संख्या को CurrentMax और अधिकतम से अधिकतम चर में संग्रहीत करें।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
//Function to check if number is automorphic
bool IsAutomorphic(int n){
   //Storing the square of n
   int sqr = n * n;
   //Comparing the digits
   while (n > 0){
      /*Return false if any digit of n doesn't
      match with its square's last digits*/
      if (n % 10 != sqr % 10)
         return false;
      n /= 10;
      sqr /= 10;
   }
   return true;
}
int MaxAutomorphic(int arr[], int size){
   int CurrentMax = 0, Maximum = 0;
   for (int i = 0; i < size; i++){
      //Checking if the element is non-automorphic
      if (IsAutomorphic(arr[i]) == false)
         CurrentMax = 0;
         //Updating CurrentMax and Maximum if number is automorphic
      else{
         CurrentMax++;
         Maximum = max(CurrentMax, Maximum);
      }
   }
   return Maximum;
}
//Main function
int main(){
   int arr[] = { 33, 25, 1, 76, 4 };
   int size = sizeof(arr) / sizeof(arr[0]);
   cout << MaxAutomorphic(arr, size);
   return 0;
}

आउटपुट

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

3

  1. C++ में मितव्ययी संख्या

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया जाता है। हमारा कार्य यह जाँचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या - एक संख्या जिसके अंकों की संख्या दी गई संख्या के अभाज्य गुणनखंड में अंकों की संख्या से अधिक है। उदाहरण − 625, संख्या 625 का अभाज्

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की

  1. सी++ में डुडेनी नंबर्स

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या (विकिपीडिया)। नंबर हेनरी डुडेनी . द्वारा खोजा गया था . इसका गणितीय सूत्र है - यहाँ, हमें एक पूर्णांक n दिया गया है। हमारा काम जांच करना है कि दिया गया नंबर n एक डुडनी नंबर है या नहीं। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: एन =17592 आ