Given a positive integer n, break it into the sum of at least two positive integers and maximize the product of those integers. Return the maximum product you can get.

For example, given n = 2, return 1 (2 = 1 + 1); given n = 10, return 36 (10 = 3 + 3 + 4).

Note: you may assume that n is not less than 2.

 public class Solution {
int integerBreak(int n) {
int result=;
double e=2.718281828459;
int breakNumber=(int) (n/e);
if (breakNumber<) {
return n/*(n-n/);
}
for (int i = breakNumber-; i <=breakNumber+; i++) {
int breakValue=n/i;
int valueOverNumber=n%i;
int resultTemp=;
if (valueOverNumber!=) {
resultTemp=(int) ( Math.pow(breakValue, i-valueOverNumber)
* Math.pow(breakValue+, valueOverNumber));
}else {
resultTemp=(int) ( Math.pow(breakValue, i));
} if (resultTemp>result) {
result=resultTemp;
}
}
return result; }
}

由数学计算可以证明已知y=x1+x2+...+xn, z=x1*x2*...xn最大时,应满足x1=x2=...xn=y/n,且分割数n=y/e

Integer Break的更多相关文章

  1. [LeetCode]Integer Break(Dp或胡搞或推公式)

    343. Integer Break Given a positive integer n, break it into the sum of at least two positive intege ...

  2. LN : leetcode 343 Integer Break

    lc 343 Integer Break 343 Integer Break Given a positive integer n, break it into the sum of at least ...

  3. LeetCode 343. 整数拆分(Integer Break) 25

    343. 整数拆分 343. Integer Break 题目描述 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化. 返回你可以获得的最大乘积. 每日一算法2019/5/2 ...

  4. #Week 11 - 343.Integer Break

    Week 11 - 343.Integer Break Given a positive integer n, break it into the sum of at least two positi ...

  5. 【LeetCode】343. Integer Break 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 数学解法 动态规划 日期 题目地址:https:// ...

  6. [LeetCode] Integer Break 整数拆分

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...

  7. Integer Break(Difficulty: Easy)

    题目: Given a positive integer n, break it into the sum of at least two positive integers and maximize ...

  8. (dp)343. Integer Break

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...

  9. Leetcode 343. Integer Break

    Given a positive integer n, break it into the sum of at least two positive integers and maximize the ...

随机推荐

  1. Linux常用命令集合

    常用的Linux命令,备忘 1 pwd 显示当前目录 命令格式: pwd [选项] 2 cd 更换目录 命令格式: cd [目录名] 例: 3 ls 显示当前目录内容 命令格式: ls [选项] [目 ...

  2. ASP.NET 生命周期 简介

    当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面,  完全识别 HTTP 页面处理程序类后,ASP.NET 运行时 ...

  3. ExpressJs server中Router的设置

    expressjs的路由设置方法 一.基本方法: app.METHOD(PATH, HANDLER)把路径path和操作方法method(可以是http的get/put/delete等),映射到一个处 ...

  4. XML Schema命名空间解析

    URI Web中汇集了各种资源.资源可以是具有标识的任何事物, 如文档. 文件. 菜单项. 计算机. 服务等, 甚至可以包括人. 组织和概念[BernersLee 1998].在Web体系结构中, ...

  5. webuploader 上传文件参数设置

    webUploader 是款很好用的优秀的开源上传组件,由百度公司开发,详细的介绍可参见webUploader 的官方文档: 最近在使用webUploader时,需要添加额外的参数,并在后台获取,参数 ...

  6. Type.GetType(string)为空

    Type type = Type.GetType(scheduleJob.JobType); 时type为空, 导致执行下一步时 MethodInfo method = type.GetMethod( ...

  7. Hibernate部署问题总结

    出现未知实体类(- org.hibernate.MappingException: Unknown entity),找不到cfg.xml包 (org.hibernate.internal.util.c ...

  8. shell 判断文件是否存在

    举例 #!/bin/sh myFile="/var /log/httpd/access.log" if [ ! -e "$myFile" ]; then tou ...

  9. 采用UDP协议的PIC32MZ ethernet bootloader

    了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 经过千辛万苦,今天终于 ...

  10. cx_Oracle 报错 Reason: image not found

    (Study_env) ➜ DAL python -c "import cx_Oracle"Traceback (most recent call last): File &quo ...