Integer Break
来源:互联网 发布:加内特2008季后赛数据 编辑:程序博客网 时间:2024/06/02 04:29
题目描述:
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 and not larger than 58.
分析:
根据数学知识,我们知道当3连乘时,效率最高,剩余的部分特殊处理即可。
代码如下:
int integerBreak(int n) { vector<int>num(60,0); num[2]=1; num[3]=2; num[4]=4; for(int i=5;i<60;i++){ if(i%3==1){ num[i]=num[i-4]*4; if(num[i-4]==2) num[i]=12; } if(i%3==2){ num[i]=num[i-2]*2; if(num[i-2]==2) num[i]=6; } if(i%3==0){ num[i]=num[i-3]*3; if(num[i-3]==2) num[i]=9; } } return num[n]; }};
阅读全文
0 0
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- Integer Break
- [LeetCode]Integer Break
- leetcode笔记:Integer Break
- Odps(MaxCompute)使用时一些问题
- 单链表的创建、打印完整程序
- Spring Cloud Zuul实现动态路由(zuul设计)
- Access denied for user 'root'@'localhost' (using password: YES)
- 写给小白的android Handler机制详解
- Integer Break
- 阿里云使用之ECS安全组
- 用户输入和while循环(python)
- Usability易用性、可用性测试方法
- nginx配置指令的执行顺序(1)转载子章亦春
- git之pre-commit 同步提交代码实现
- lintcode x的n次幂
- 47、我的C#学习笔记13
- 快手“进城”难,只靠直播创收能顺利IPO吗?