इनपुट के रूप में एक नंबर N दिया गया है। लक्ष्य उन सभी N अंकों की संख्याओं की गणना करना है जिनमें सभी N अंकों की संख्याओं का योग है जैसे कि num + Rev(num) =10 N - 1
num+rev(num)=10 N -1
उदाहरण के लिए
इनपुट
N=4
आउटपुट
सभी N अंकों की संख्याओं की संख्या जैसे कि num + Rev(num) =10 N - 1 हैं - 90
स्पष्टीकरण
The numbers would be − 1. 1188 + 8811 = 9999 2. 2277 + 7722 = 9999 3. 1278 + 8721 = 9999 ……...total 90 numbers
इनपुट
N=5
आउटपुट
Count of all N digit numbers such that num + Rev(num) = 10N − 1 are − 0
स्पष्टीकरण
As N is odd, there will be no such number as the middle element will be added to itself and cannot have sum as 9. Ex. 148+841=989
नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -
किसी भी N अंक संख्या के लिए रिवर्स के साथ इसका योग 9N−1 =999 होगा। यदि दोनों संख्याओं में अलग-अलग अंकों का योग और इसका उल्टा 9 है तो N गुना होगा। विषम N के मामले में, बीच का अंक स्वयं में जोड़ा जाएगा . चूंकि समान पूर्ण संख्याओं का योग 9 नहीं है, इसलिए उत्तर 0 होगा। सम N के मामले में, 1st−Nth, 2nd−N−1th, 3rd−N−2th के जोड़े। अंक 9 होने चाहिए। संभावित जोड़े होगा (1+8), (2+7), (3+6), (4+5), (5+4) ,(6+3), (7+2), (8+1), (9+0)। उत्तर होगा 9*10 N/2 -1
-
इनपुट के रूप में एक पूर्णांक N लें।
-
फंक्शन digit_numbers(int N) N लेता है और सभी N अंकों की संख्या देता है जैसे कि num + Rev(num) =10^N - 1.
-
प्रारंभिक गणना 0 के रूप में लें।
-
अगर एन विषम है, तो एन% 2 1 है। वापसी 0.
-
अन्य सेट गिनती =9 * पाउ(10, एन/2 - 1)।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; int digit_numbers(int N){ int count = 0; if (N % 2 == 1){ return 0; } else { count = 9 * pow(10, N/2 − 1); } return count; } int main(){ int N = 4; cout<<"Count of all N digit numbers such that num + Rev(num) = 10^N − 1 are: "<<digit_numbers(N); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of all N digit numbers such that num + Rev(num) = 10^N − 1 are: 90