La división más grande de productos de números enteros

Dado un número entero positivo n, que se divide en al menos dos números enteros positivos, y el producto de esos números enteros maximizada. Devuelve el máximo que se puede conseguir el producto.

Ejemplo 1:

Entrada: 2
Salida: 1
explica: 2 = 1 + 1, 1 × 1 = 1.
Ejemplo 2:

Entrada: 10
Salida: 36
explica: 10 = 3 + 3 + 4 , 3 x 3 x 4 = 36.
Nota: Se puede suponer que n no es inferior a 2 y no más de 58.

1  público  clase T343 {
 2      público  int integerBreak ( int n) {
 3          int [] dp = nuevo  int [n + 1 ];
4          Arrays.fill (dp, 1 );
5          para ( int i = 3; i <= n; i ++ ) {
 6              para ( int j = 1; j <i; j ++ ) {
 7                  dp [i] = Math.max (dp [i], Math.max ( j * (i - j), j * dp [i - j]));
8              }
 9          }
 10          de retorno dp [n];
11      }
 12 }

 

Supongo que te gusta

Origin www.cnblogs.com/zzytxl/p/12446663.html
Recomendado
Clasificación