【贪心算法】最优分解问题(python实现)
一个正整数分解为若干互不相同的自然数的和,使其乘积最大,完成最优分解问题。
文章目录一、算法思想二、实现代码1.定义函数2.调用函数总结
提示:以下是本篇文章正文内容,下面案例可供参考
一、算法思想
如果a+b=n,则|a-b|越小,那么a*b越大。因此可以将n分解成从2开始的连续自然数的和。如果最后剩下一个数,将此数在后项优先的方式下均匀地分给前面各项。
例如:输入n=10,则可以分解为 2、3、4,还剩下1不够5,把这个1倒着加,4+1—>5。所以,最终分解为2,3,5,结果为235=30.
原创
2022-04-08 16:21:57 ·
2359 阅读 ·
0 评论