ইনপুট হিসাবে একটি সংখ্যা 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.. N বার যদি উভয় সংখ্যায় পৃথক অঙ্কের যোগফল হয় এবং এর বিপরীত সংখ্যা 9 হয়। বিজোড় 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 হিসাবে প্রাথমিক গণনা নিন।
-
যদি N বিজোড় হয়, তাহলে N%2 হল 1। রিটার্ন 0।
-
অন্য সেট গণনা =9 * pow(10, N/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