একটি পূর্ণসংখ্যা N (>0) দেওয়া আছে। N-এর চেয়ে ছোট বা সমান সংখ্যাগুলোর ডিজিট গুণফলের সর্বোচ্চ মান বের করুন। N=390 হলে 389 দিয়ে 3*8*9=216।
রিকারসিভ ফর্মুলা: max_product(N) = max( max_product(N/10)*(N%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);
return 0;
}
আউটপুট
Maximum product is: 243