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

C++ में डिजेरियम नंबर (Disarium Number) उदाहरण सहित


एक संख्या जिसके अंकों का योग उनकी संबंधित स्थिति की घात के साथ संख्या के बराबर होता है, उसे डिजेरियम नंबर कहा जाता है।

noOfDigits(int num) फंक्शन संख्या लेता है और लगातार संख्या को 10 से विभाजित करके अंकों की संख्या वापस करता है जब तक केवल इकाई का स्थान नहीं बचता। प्रत्येक पुनरावृत्ति पर अंक वेरिएबल को अंकों का ट्रैक रखने के लिए बढ़ाया जाता है और एक बार व्हाइल लूप समाप्त होने पर वापस किया जाता है।

int noOfDigits(int num){ 
    int digits = 0; 
    int temp = num; 
    while (temp){ 
        temp = temp/10; 
        digits++; 
    } 
    return digits; 
}

अगला, isDisarium(int num) एक बूलियन फंक्शन है जो संख्या लेता है और जांचता है कि यह डिजेरियम नंबर है या नहीं। यह संख्या मॉड 10 द्वारा दाहिने अंक को लेता है और इसे संख्या प्रणाली में अंक स्थान की घात देता है। संख्या को घात देने का परिणाम फिर योग में जोड़ा जाता है। व्हाइल लूप तब तक चलता है जब तक कोई अंक नहीं बचता। यदि योग num के बराबर है तो सत्य वापस किया जाता है अन्यथा यह असत्य वापस करता है।

bool isDisarium(int num){ 
    int digits = noOfDigits(num); 
    int sum = 0; 
    int temp = num; 
    while (temp){ 
        int rightDigit = temp % 10; 
        sum = sum + pow(rightDigit, digits--); 
        temp = temp / 10; 
    } 
    return (sum == num); 
}

उदाहरण

किसी संख्या के डिजेरियम नंबर होने या न होने की जांच के लिए निम्नलिखित कार्यान्वयन देखें।

#include <iostream> 
#include <math.h> 
using namespace std; 

int noOfDigits(int num){ 
    int digits = 0; 
    int temp = num; 
    while (temp){ 
        temp = temp/10; 
        digits++; 
    } 
    return digits; 
} 

bool isDisarium(int num){ 
    int digits = noOfDigits(num); 
    int sum = 0; 
    int temp = num; 
    while (temp){ 
        int rightDigit = temp % 10; 
        sum = sum + pow(rightDigit, digits--); 
        temp = temp / 10; 
    } 
    return (sum == num); 
} 

int main(){ 
    int num = 518; 
    if (isDisarium(num)) 
        cout << num << " is a Disarium Number" << endl; 
    else 
        cout << num << " is not a Disarium Number" << endl; 
    return 0; 
}

आउटपुट

उपरोक्त कोड निम्नलिखित आउटपुट देगा:

518 is a Disarium Number

  1. - C++ में संख्या को केवल 3 और 8 अंकों में बदलना

    इस ट्यूटोरियल में, हम एक संख्या को केवल 3 और 8 अंकों वाले में बदलने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक रैंडम संख्या प्रदान की जाएगी। हमारा कार्य संख्या के अंकों को केवल 3 और 8 में बदलना है या तो संख्या से 1 जोड़/घटाकर या संख्या के अंकों को किसी वांछित अंक में बदलकर।उदाहरण#include &

  1. - C++ में अंकगणितीय संख्या (Arithmetic Number)

    अंकगणितीय संख्या क्या है? एक संख्या जिसके सभी धनात्मक भाजकों का औसत एक पूर्णांक हो। अर्थात, भाजकों का योग भाजकों की संख्या से विभाज्य हो। उदाहरण: n = 6 भाजक: 1, 2, 3, 6 योग = 12, भाजकों की संख्या = 4 12/4 = 3 (पूर्णांक) → अंकगणितीय संख्या है एल्गोरिदम भाजकों का योग निकालें भाजकों की संख्या गिन

  1. - C++ में CHAR_BIT

    CHAR_BIT क्या है? CHAR_BIT एक बाइट में बिट्स की संख्या दर्शाता है। <climits> या <limits.h> हेडर में परिभाषित। आमतौर पर 8 बिट्स प्रति बाइट होता है। C++ प्रोग्राम उदाहरण #include <bits/stdc++.h> using namespace std; int main() { int x = 28; int total_bits = CHAR_BIT * size