title: Maximum Binomial Coefficient Term Value
signature: maximumBinomialCoefficientTermValue(n) {
test_code: import 'dart:convert';
  
  // SOLUTION CODE
  // ============================================
  PLACEHOLDER_CODE_BODY
  
  // TESTING CODE 
  // ============================================
  bool validateSolution(int actual, int expected){
      return actual.toString() == expected.toString();
  }
  
  String driver(n, int expected){
      try
      {
          if (validateSolution(PLACEHOLDER_FN_NAME(n), expected)){
              return "PASSED";
          }
          return "FAILED";
      }catch(exception_object){
          return exception_object.runtimeType.toString();
      }
  }
  
  int main() {
  
      print("TEST-0...${driver(
          23, 
          1352078)
      }");
  
      print("TEST-1...${driver(
          41, 
          269128937220)
      }");
  
      print("TEST-2...${driver(
          56, 
          7648690600760440)
      }");
  
      print("TEST-3...${driver(
          38, 
          35345263800)
      }");
  
      print("TEST-4...${driver(
          26, 
          10400600)
      }");
  
      print("TEST-5...${driver(
          52, 
          495918532948104)
      }");
  
      print("TEST-6...${driver(
          44, 
          2104098963720)
      }");
  
      return 0;
  }
source_py: def maximum_binomial_coefficient_term_value(n):
      C = [[0 for x in range((n + 1))] for y in range((n + 1))]
      for i in range((n + 1)):
          for j in range((min(i, n) + 1)):
              if ((j == 0) or (j == i)):
                  C[i][j] = 1
              else:
                  C[i][j] = (C[(i - 1)][(j - 1)] + C[(i - 1)][j])
      maxvalue = 0
      for i in range((n + 1)):
          maxvalue = max(maxvalue, C[n][i])
      return maxvalue
source_cpp: int maximum_binomial_coefficient_term_value(int n) {
    int C [ n + 1 ] [ n + 1 ];
    for ( int i = 0;
    i <= n;
    i ++ ) {
      for ( int j = 0;
      j <= min ( i, n );
      j ++ ) {
        if ( j == 0 || j == i ) C [ i ] [ j ] = 1;
        else C [ i ] [ j ] = C [ i - 1 ] [ j - 1 ] + C [ i - 1 ] [ j ];
      }
    }
    int maxvalue = 0;
    for ( int i = 0;
    i <= n;
    i ++ ) maxvalue = max ( maxvalue, C [ n ] [ i ] );
    return maxvalue;
  }