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

सी ++ में एक श्रेणी में यूनरी नंबरों की गणना करें

दिए गए दो नंबर एक श्रेणी का प्रतिनिधित्व करते हुए प्रारंभ और अंत करते हैं। लक्ष्य [शुरू, अंत] के बीच मौजूद यूनरी संख्याओं की संख्या का पता लगाना है।

हम निम्न चरणों का पालन करके जांच सकते हैं कि संख्या एकात्मक है या नहीं:यदि हम संख्या 13 लेते हैं तो 12 + 32 =10, फिर 12 + 02 =1 तो इस तरह से अंतिम योग 1 है इसलिए 13 एकात्मक है।

उदाहरण के लिए

इनपुट

start=1 end=20

आउटपुट

Count of Unary Numbers in a Range are: 5

स्पष्टीकरण

The numbers are :
1, 7, 10, 12, and 13

इनपुट

start=50 end=100

आउटपुट

Count of Unary Numbers in a Range are: 7

स्पष्टीकरण

The numbers are −
59, 63, 67, 74, 75, 78, and 89

नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -

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

  • दो पूर्णांक प्रारंभ करें, इनपुट के रूप में समाप्त करें।

  • फ़ंक्शन check_unary(int number) सही लौटाता है अगर पास किया गया मान यूनरी है और गलत रिटर्न देता है।

  • फंक्शन Unary_range(int start, int end) रेंज वेरिएबल लेता है और रेंज में पड़े यूनरी नंबरों की गिनती लौटाता है।

  • प्रारंभिक गणना को 0 के रूप में लें। लूप के लिए उपयोग करते हुए, i=से अंत तक ट्रैवर्स करें। यदि check_unary(i) सत्य लौटाता है, तो वृद्धि की गणना करें।

  • check_unary(int number) के अंदर, अस्थायी चर गणना लें।

  • यदि संख्या N 1, 7 है, तो सही लौटें। 10 से कम अन्य सभी संख्याओं के लिए झूठी वापसी करें। (संख्या/10 ==0)।

  • फिर जबकि लूप में अंकों के वर्गों के योग की गणना करें।

  • जब तक योग 1 न हो जाए, तब तक ऐसी निरंतर राशि के लिए check_unary(int number) पर दोबारा कॉल करें।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <iostream>
using namespace std;
bool check_unary(int number){
   int total;
   if (number == 1 ){
      return true;
   }
   else if(number == 7){
      return true;
   }
   else if (number / 10 == 0){
      return false;
   }
   while (number!= 0){
      int temp = number % 10;
      total = total + temp * temp;
      number = number / 10;
   }
   check_unary(total);
}
int Unary_range(int start, int end){
   int count = 0;
   for (int i = start; i <= end; i++){
      if (check_unary(i) == 1){
         count++;
      }
   }
   return count;
}
int main(){
   int start = 200, end = 400;
   cout<<"Count of Unary Numbers in a Range are: "<<Unary_range(start, end);
   return 0;
}

आउटपुट

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

Count of Unary Numbers in a Range are: 31

  1. C++ में समतल में समांतर चतुर्भुजों की संख्या

    हमें एक समतल दिया गया है जिसमें समांतर चतुर्भुज बनाने वाले बिंदु हैं और कार्य समांतर चतुर्भुजों की गणना करना है जो दिए गए बिंदुओं का उपयोग करके बनाए जा सकते हैं। समांतर चतुर्भुज में एक चतुर्भुज के विपरीत पक्ष समानांतर होते हैं और इसलिए विपरीत कोण बराबर होते हैं। इनपुट - int a[] = {0, 2, 5, 5, 2, 5,

  1. 1 से n तक की संख्याओं की गणना करें जिनमें C++ में एक अंक के रूप में 4 हों

    इस ट्यूटोरियल में, हम 1 से n तक की संख्याओं को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे, जिसमें 4 अंक होंगे। इसके लिए हमें एक नंबर n प्रदान किया जाएगा। हमारा काम उन सभी नंबरों को गिनना है जिनमें 4 अंकों में से एक है और उसका प्रिंट आउट लेना है। उदाहरण #include<iostream> using namespace std; b

  1. C++ में 1 से N तक लगभग अभाज्य संख्याओं की संख्या ज्ञात कीजिए

    मान लीजिए कि हमारे पास एक संख्या N है। हमें 1 से N के बीच लगभग अभाज्य संख्याएँ ज्ञात करनी हैं। एक संख्या लगभग अभाज्य कहलाती है जब उसके ठीक दो अलग-अलग गुणनखंड हों। संख्याओं में कितने भी अभाज्य गुणनखंड हो सकते हैं, लेकिन दो अभाज्य गुणनखंड होने चाहिए। तो अगर N 2 है, तो आउटपुट 2 होगा। दो नंबर 6 और 10 है