কম্পিউটার

Nth ধনাত্মক সংখ্যা খুঁজুন যার ডিজিটাল রুট হল C++ এ X


এই সমস্যায়, আমাদের দুটি পূর্ণসংখ্যার মান দেওয়া হয়েছে N এবং X। আমাদের কাজ হল Nth ধনাত্মক সংখ্যা খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা যার ডিজিটাল রুট হল X।

ডিজিটাল রুট (X) একটি একক সংখ্যার ধনাত্মক সংখ্যা যা N এর সংখ্যাগুলিকে বারবার যোগ করে অঙ্কগুলি যোগ করে পাওয়া যায়, যতক্ষণ না যোগফল একক অঙ্কে পরিণত হয়৷

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

N = 5, X = 4

আউটপুট

40

সমাধান পদ্ধতি

সমস্যা সমাধানের একটি সহজ উপায় হল একটি ডিজিটাল রুট দিয়ে সংখ্যা গণনা করা হল X। এর জন্য, আমরা 1 থেকে শুরু করব এবং তারপরে বর্তমান সংখ্যার ডিজিটাল রুট X এর সমান কিনা তা পরীক্ষা করব এবং সংখ্যাগুলি গণনা করব এবং Nth নম্বরটি ফেরত দেব।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
using namespace std;
int calcDigitalRoot(int num) {
   int digitSum = 1000, number = num;
   while (digitSum >= 10) {
      digitSum = 0;
      while (number > 0) {
         digitSum += number % 10;
         number /= 10;
      }
      number = digitSum;
   }
   return digitSum;
}
int calcNthDigitalRoot(int X, int N) {
   int countDigitalRootVals = 0;
   for (int i = 1; countDigitalRootVals < N; ++i) {
      int digitalRoot = calcDigitalRoot(i);
      if (digitalRoot == X) {
         ++countDigitalRootVals;
      }
      if (countDigitalRootVals == N)
         return i;
   }
   return -1;
}
int main(){
   int X = 4, N = 5;
   cout<<N<<"th positive number whose digital root is "<<X<<" is "<<calcNthDigitalRoot(X, N);
   return 0;
}

আউটপুট

5th positive number whose digital root is 4 is 40

দক্ষ পদ্ধতি

সমস্যা সমাধানের জন্য একটি দক্ষ পন্থা হল N th খুঁজে বের করা সরাসরি সূত্র ব্যবহার করে X এর সমান ডিজিটাল রুট সহ সংখ্যা যা হল,

Nth number = (N + 1)*9 + X

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
using namespace std;
int calcNthDigitalRoot(int X, int N) {
   int nthNumber = (((N - 1) * 9) + X);
   return nthNumber;
}
int main() {
   int X = 4, N = 12;
   cout<<N<<"th positive number whose digital root is "<<X<<" is "<<calcNthDigitalRoot(X, N);
   return 0;
}

আউটপুট

12th positive number whose digital root is 4 is 103

  1. C++ এ একটি ম্যাট্রিক্সে গহ্বরের সংখ্যা খুঁজুন

  2. C++ এ অ্যারেতে সবচেয়ে কাছের নম্বর খুঁজুন

  3. C++ এ একটি সংখ্যার ঘনমূল খুঁজুন

  4. C++ এ মূলদ সংখ্যার LCM খুঁজুন