কম্পিউটার

সি++ এ ডুডেনি নম্বর


সংখ্যা তত্ত্বে সংজ্ঞায়িত একটি গাণিতিক সংখ্যা একটি প্রদত্ত সংখ্যার ভিত্তি হল একটি প্রাকৃতিক সংখ্যা যা অন্য একটি প্রাকৃতিক সংখ্যার নিখুঁত ঘনকের সমান যাতে প্রথম প্রাকৃতিক সংখ্যার অঙ্কের যোগফল দ্বিতীয় সংখ্যার অঙ্কের যোগফলের সমান হয়। em> (উইকিপিডিয়া)।

নম্বরটি হেনরি ডুডেনি খুঁজে পেয়েছেন . এর গাণিতিক সূত্র হল −

সি++ এ ডুডেনি নম্বর

এখানে, আমরা একটি পূর্ণসংখ্যা n দেওয়া হয়. আমাদের কাজ হল প্রদত্ত সংখ্যা n একটি ডুডেনি নম্বর কিনা তা পরীক্ষা করা।

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

ইনপুট: N =17592

আউটপুট: না

ব্যাখ্যা:

প্রদত্ত নম্বরটি একটি ডুডনি নম্বর নয়৷

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

সমাধানটি dudeney সংখ্যার মৌলিক সংজ্ঞায় রয়েছে। একটি সংখ্যা হল একটি ডুডেনি সংখ্যা এই তথ্যের ভিত্তিতে যে একটি সংখ্যার ঘনমূল তার অঙ্কের যোগফলের সমান .

অ্যালগরিদম −

ধাপ 1: n একটি নিখুঁত ঘনক কিনা তা পরীক্ষা করুন।

ধাপ 2.1: যদি হ্যাঁ, তাহলে n এর ঘনমূল =n এর অঙ্কের যোগফল কিনা তা পরীক্ষা করে দেখুন।

ধাপ 2.2.1: যদি হ্যাঁ, তাহলে নম্বরটি হল ডুডেনি নম্বর।

ধাপ 2.2.2: যদি NO হয়, তাহলে সংখ্যাটি Dudeney নম্বর নয়।

ধাপ 2.2: যদি না হয়, তাহলে নম্বরটি ডুডেনি নম্বর নয়৷

আমাদের অ্যালগরিদমের কাজ চিত্রিত করার জন্য C++ প্রোগ্রাম -

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int calcDigitSum(int n){

   int digitSum = 0;
   int digitVal;
   while (n > 0) {
      digitVal = n % 10;
      digitSum += digitVal;
      n /= 10;
   }
   return digitSum;
   
}
int checkDudeney(int N) {
   
   int cubeRoot = int( round( cbrt(N) ) );
   
   if(pow(cubeRoot, 3.0) != N){
      return 0;
   }

   int sumOfDigit = calcDigitSum(N);
   
   if (cubeRoot != sumOfDigit)
      return 0;

   return 1;
}

int main() {
   int N = 104323;
   cout<<"The number "<<N;
   if (checkDudeney(N))
      cout<<" is a dudeney number.";
   else
      cout<<" is not a dudeney number.";
   return 0;
}

আউটপুট −

The number 104323 is not a dudeney number.

  1. C++ এ মিতব্যয়ী নম্বর

  2. C++ পেন্টাটোপ নম্বর

  3. C++ এ ফিবোনাচি সংখ্যার বর্গক্ষেত্রের সমষ্টি

  4. একটি সংখ্যা C++ এ একটি রহস্য সংখ্যা কিনা তা পরীক্ষা করুন