हमें एक परास [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