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

उन संख्याओं की गिनती करना जिनका रिवर्स से अंतर C++ . में k का गुणनफल है

हमें एक परास [l,r] और एक संख्या k दी गई है। लक्ष्य l और r (l<=number<=r) के बीच की सभी संख्याओं को इस प्रकार खोजना है कि (उस संख्या के विपरीत)-(संख्या) का परिणाम k का गुणनफल हो।

हम l से r तक शुरू करके इस स्थिति की जाँच करेंगे, प्रत्येक संख्या के विपरीत की गणना करेंगे। अब संख्या को इसके रिवर्स से घटाएं और जांचें कि क्या (पूर्ण अंतर) %k==0 है। अगर हाँ तो गिनती बढ़ाएँ।

आइए उदाहरणों से समझते हैं।

इनपुट - एल=21, आर=25, के=6

आउटपुट - संख्याओं की संख्या - 2

स्पष्टीकरण -

The numbers their reverse and difference is:
21, 12, | 21-12 |=9, 9%6!=0
22, 22, | 22-22 |=0 0%6=0 count=1
23,32,  | 32-23 | =9 9%6!=0
24,42,  | 42-24 | =18 18%6=0 count=2
25,52,  | 52-25 | =27 27%6!=0
Total numbers that meet the condition are 2 ( 22,24 )

इनपुट - एल=11, आर=15, के=5

आउटपुट - संख्याओं की संख्या - 1

स्पष्टीकरण -

The only number is 11 , | 11-11 | is 0 and 0%5=0

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम परिसर को परिभाषित करने के लिए एक पूर्णांक L और R लेते हैं। और K विभाज्यता की जाँच के लिए।

  • फ़ंक्शन गिनती संख्या (int l, int r, int k) इनपुट के रूप में l, r और k लेता है और आवश्यक शर्तों को पूरा करने वाली संख्याओं की गिनती देता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • संख्या Rev=0 को उल्टा करें।

  • शेष रेम =0 लें।

  • i=l से i=r तक शुरू।

  • वर्तमान संख्या I को संख्या में संग्रहीत करें। और इसका रेव=0.

  • अब संख्या संख्या को उलट दें, जबकि(num>0)। रेम =संख्या% 10। रेव =रेव * 10 + रेम। num=num/10.

  • जबकि रेव की समाप्ति के बाद i का उल्टा होता है।

  • रेव और मूल मान i के निरपेक्ष अंतर की गणना करें। अगर यह अंतर | आई-रेव |%k==0. फिर गिनती बढ़ाएँ।

  • यह श्रेणी के सभी नंबरों के लिए करें।

  • गिनती का अंतिम मान उन संख्याओं के रूप में लौटाया जाता है जिनका विपरीत के साथ अंतर k का गुणनफल होता है।

उदाहरण

#include <iostream>
using namespace std;
int countNumbers(int l, int r, int k){
   int rev = 0;
   int count=0;
   int rem=0;
   for (int i = l; i <= r; i++){
      int num=i;
      rev=0;
      while (num > 0){
         // reverse the number
         rem=num%10;
         rev = rev * 10 + rem;
         num /= 10;
      }
      if((abs(i-rev))%k==0) //original number is i and its reverse is rev
         { count++; }
   }
   return count;
}
int main(){
   int L= 18, R = 24, K = 6;
   cout <<" Numbers whose difference with reverse is product of k:"<<countNumbers(L,R,K);
   return 0;
}

आउटपुट

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

Numbers whose difference with reverse is product of k:4

  1. C++ में किसी सरणी में सभी अभाज्य संख्याओं का गुणनफल

    कुछ तत्वों के साथ एक पूर्णांक सरणी arr[] को देखते हुए, कार्य उस संख्याओं की सभी अभाज्य संख्याओं का गुणनफल खोजना है। अभाज्य संख्याएँ वे संख्याएँ होती हैं जिन्हें या तो 1 से या स्वयं संख्या से विभाजित किया जाता है, या एक अभाज्य संख्या एक ऐसी संख्या होती है जो 1 और स्वयं संख्या को छोड़कर किसी अन्य संख

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

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

  1. सी ++ प्रोग्राम संख्याओं की एक सरणी के उत्पाद में पहला अंक खोजने के लिए

    इस लेख में, हम दिए गए सरणी के तत्वों के उत्पाद में पहला अंक खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे। उदाहरण के लिए, मान लें कि हमें एक सरणी दी गई है। arr = {12, 5, 16} तब इन तत्वों का गुणनफल 12*5*16 =960 होगा। इसलिए, परिणाम यानी इस मामले में उत्पाद का पहला अंक 9 होगा। उदाहरण #include <bits/st