কম্পিউটার

n-তম সংখ্যা যার অঙ্কের যোগফল C++ এ দশ


যে সংখ্যার অঙ্কের যোগফল 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

  1. নোডগুলি গণনা করুন যার সমষ্টি X এর সাথে C++ এ একটি ফিবোনাচি সংখ্যা

  2. C++ এ একটি সংখ্যার ফ্যাক্টরিয়াল সংখ্যার সমষ্টি খুঁজুন

  3. C++ এ একটি সংখ্যা ম্যাজিক কিনা তা পরীক্ষা করুন (সংখ্যার পুনরাবৃত্ত যোগফল 1)

  4. একটি প্রদত্ত সংখ্যার সংখ্যা যোগ করার জন্য C++ প্রোগ্রাম