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

सी प्रोग्रामिंग में सुपरपरफेक्ट नंबर

सुपर परफेक्ट नंबर की अवधारणा पूर्ण संख्या के समान है। यह 1969 में डी सूर्यनारायण द्वारा खोजा गया था। उन्होंने सुपर परफेक्ट नंबर को एक संख्या के रूप में सामान्यीकृत किया जो निम्नलिखित सूत्र को संतुष्ट करता है:

sig(sig(n)) = 2n

यहाँ, sig(n) वह फलन है जो किसी संख्या के भाजक के योग की गणना करता है, इसे भाजक सारांश फलन के रूप में भी जाना जाता है।

इस अवधारणा को आपको स्पष्ट करने के साथ निम्नलिखित उदाहरण:

हमें यह जांचना होगा कि संख्या N एक अति उत्तम संख्या है या नहीं:

N = 16

आउटपुट

yes

स्पष्टीकरण − यह जांचने के लिए कि कोई संख्या एक पूर्ण संख्या है या नहीं, हम उसके भाजक का योग ज्ञात करेंगे।

sig(16) = 1 + 2 + 4 + 8 + 16 = 31 ( divisors of 16 are 1, 2, 4, 8, 16 1, 2, 4, 8, 16)
sig( 31) = 1 + 31 = 32( 31 is a prime number)
2*n = 32 = sig(sig(n))

इससे पता चलता है कि 16 एक अति उत्तम संख्या है।

अब आइए एक ऐसी संख्या का उदाहरण देखें जो अति उत्तम संख्या नहीं है।

n = 6
sig(6) = 1 + 2 + 3 + 6= 12
sig(12) = 1 + 2 + 3 + 4 +6 + 12 = 28
6*2 = 12 != 28.

इससे पता चलता है कि 6 एक अति उत्तम संख्या नहीं है

उदाहरण

#include<stdio.h>
//function to find the sum of divisors of num
int divisorsum(int n){
   int sum = 0; // intialising the sum
   for (int i=1; i*i <= n; ++i){
      if (n%i == 0) { // find the sum of divisors
         if (i == (n/i))
            sum += i;
         else
            sum += (i + n/i);
      }
   }
   return sum;
}
int main() {
   int n = 16;
   int n1 = divisorsum(n);
   if(2*n == divisorsum(n1)){
      printf("The number %d is a superperfect number", n);
   } else{
      printf("The number %d is not a superperfect number", n);
   }
   return 0;
}

आउटपुट

The number 16 is a super perfect number

  1. सी # में सेमाफोर

    सेमाफोर वर्ग आपको उन थ्रेड्स की संख्या पर एक सीमा निर्धारित करने देता है जिनकी एक महत्वपूर्ण खंड तक पहुंच है। संसाधनों के पूल तक पहुंच को नियंत्रित करने के लिए कक्षा का उपयोग किया जाता है। System.Threading.Semaphore सेमाफोर के लिए नाम स्थान है क्योंकि इसमें सेमाफोर को लागू करने के लिए आवश्यक सभी विध

  1. सी # में सॉकेट प्रोग्रामिंग

    System.Net.Sockets नाम स्थान में Windows Sockets इंटरफ़ेस का एक प्रबंधित कार्यान्वयन है। इसके दो बुनियादी तरीके हैं - सिंक्रोनस और एसिंक्रोनस। आइए System.Net.Sockets.TcpListener वर्ग के साथ काम करने के लिए एक उदाहरण देखें - TcpListener l = new TcpListener(1234); l.Start(); // creating a socket So

  1. लिनक्स शेल प्रोग्रामिंग का गणितीय पहलू - भाग IV

    इस पोस्ट में मैं Sक्रिप्ट्स . पर चर्चा करूंगा गणितीय . से और संख्या दृष्टिकोण। हालांकि मैंने एक अधिक जटिल स्क्रिप्ट पोस्ट की है (सरल कैलकुलेटर ) पिछली पोस्ट में, लेकिन एक उपयोगकर्ता के हिस्से पर इसे समझना मुश्किल था और इसलिए मैंने आप लोगों को छोटे पैकेट में सीखने के दूसरे उपयोगी पक्ष को सीखने के लिए