যে সংখ্যার অঙ্কের যোগফল 10 এর সমান তা হল
19, 28, 37, 46, 55, 64, 73, 82, 91, ইত্যাদি..,
আপনি যদি সিরিজটি পর্যবেক্ষণ করেন, প্রতিটি সংখ্যা 9 দ্বারা বৃদ্ধি পায়। উপরের ক্রমটিতে এমন সংখ্যা রয়েছে যার অঙ্কের যোগফল 10 এর সমান নয় যখন 9 দ্বারা বৃদ্ধি পাবে। তবে, আপনি সেই সমস্ত সংখ্যা পাবেন যার অঙ্কের যোগফল 10 এর সমান।পি>
সুতরাং, আমাদের একটি লুপ থাকতে পারে যা 9 দ্বারা বৃদ্ধি পায় এবং অঙ্কের যোগফল পরীক্ষা করে এবং n-তম সংখ্যাটি খুঁজে পায়। আসুন কিছু উদাহরণ দেখি
ইনপুট
3 7
আউটপুট
37 73
অ্যালগরিদম
- সংখ্যাটি শুরু করুন n
- 0-তে একটি কাউন্টার শুরু করুন।
- একটি লুপ লিখুন যা 19 থেকে পুনরাবৃত্তি হয়
- যদি বর্তমান সংখ্যা সংখ্যার যোগফল 10 হয়, তাহলে কাউন্টারটি 1 দ্বারা বৃদ্ধি করুন।
- যদি কাউন্টারটি n এর সমান হয়, তাহলে বর্তমান সংখ্যাটি ফেরত দিন।
- ইটারেটিভ ভেরিয়েবল 9 দ্বারা বৃদ্ধি করুন।
বাস্তবায়ন
C++
-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল#include <bits/stdc++.h> using namespace std; int findNthNumber(int n) { int count = 0, i = 19; while (true) { int sum = 0; for (int number = i; number > 0; number = number / 10) { sum = sum + number % 10; } if (sum == 10) { count++; } if (count == n) { return i; } i += 9; } return -1; } int main() { int n = 7; cout << findNthNumber(7) << endl; return 0; }
আউটপুট
আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।
73