<gouthampradhan>dynamic_programming_TwoKeysKeyboard_1.java
public int minSteps(int n) {
    int[] DP = new int[n + 1];
    for (int i = 2; i <= n; i++) {
      DP[i] = i;
      for (int j = 2; j < i; j++) {
        if ((i % j) == 0) {
          DP[i] = Math.min(DP[i], DP[j] + (i / j));
        }
      }
    }
    return DP[n];
  }
public int sample_funcname ( int var_0 ) {
  int [ ] var_2 = new int [ var_0 + 1 ] ;
  for ( int var_4 = 2 ;
  var_4 <= var_0 ;
  var_4 ++ ) {
    var_2 [ var_4 ] = var_4 ;
    for ( int var_5 = 2 ;
    var_5 < var_4 ;
    var_5 ++ ) {
      if ( ( var_4 % var_5 ) == 0 ) {
        var_2 [ var_4 ] = Math . min ( var_2 [ var_4 ] , var_2 [ var_5 ] + ( var_4 / var_5 ) ) ;
      }
    }
  }
  return var_2 [ var_0 ] ;
}
