Find maximum product of digits among numbers less than or equal to N | C ++ implementation of the approach ; Function that returns the maximum product of digits among numbers less than or equal to N ; Driver code
#include <bits/stdc++.h> NEW_LINE using namespace std ; int maxProd ( int N ) { if ( N == 0 ) return 1 ; if ( N < 10 ) return N ; return max ( maxProd ( N / 10 ) * ( N % 10 ) , maxProd ( N / 10 - 1 ) * 9 ) ; } int main ( ) { int N = 390 ; cout << maxProd ( N ) ; return 0 ; }