কম্পিউটার

C++ এ N এর থেকে কম বা সমান সংখ্যার মধ্যে সংখ্যার সর্বোচ্চ গুণফল বের করুন


ধরুন, আমাদের একটি পূর্ণসংখ্যা N> 0 আছে। কাজটি হল N এর কম বা সমান সংখ্যার মধ্যে সংখ্যার সর্বোচ্চ গুণফল বের করা। যদি N 390 হয়, তাহলে ফলাফল 216, যেহেতু 389 নম্বরটি সর্বাধিক পণ্য তৈরি করছে 3 * 8 * 9 =216৷

এই সমস্যা সমাধানের জন্য, আমরা পুনরাবৃত্তিমূলক পদ্ধতি ব্যবহার করব। তাই যদি N =0 হয়, তাহলে 1 ফেরত দিন, যদি N <10 নম্বর হয়, তাহলে N দিন, অন্যথায় max(max_product(N/10) * (N mod 10), max_product((N/10) - 1)*9 দিন )

উদাহরণ

#include<iostream>
using namespace std;
int max_product(int N) {
   if (N == 0)
      return 1;
   if (N < 10)
      return N;
   return max(max_product(N / 10) * (N % 10), max_product(N / 10 - 1) * 9);
}
int main() {
   int N = 432;
   cout << "Maximum product is: " << max_product(N);
}

আউটপুট

Maximum product is: 243

  1. সর্বাধিক সংখ্যক উপাদান খুঁজুন যেমন তাদের পরম পার্থক্য C++ এ 1 এর কম বা সমান

  2. C++ এ k সংখ্যার গুণফল হিসেবে n লেখা যায় কিনা তা খুঁজুন

  3. C++ এ n এর থেকে কম বা সমান সমস্ত ফ্যাক্টরিয়াল সংখ্যা খুঁজুন

  4. C++ প্রোগ্রাম অনন্য জোড়া খুঁজে বের করার জন্য যাতে প্রতিটি উপাদান N এর থেকে কম বা সমান হয়