曾彪彪的个人网站
首页
文章列表
>>
文章详情
P1249 最大乘积 题解
作者:
曾彪彪
日期:
2025-07-22 08:00:10
阅读(77)
分类:
# P1249 最大乘积 ## 题目描述 一个正整数一般可以分为几个互不相同的自然数的和,如 $3=1+2$,$4=1+3$,$5=1+4=2+3$,$6=1+5=2+4$。 现在你的任务是将指定的正整数 $n$ 分解成若干个互不相同的自然数(也可以不分解,就是这个数字本身)的和,且使这些自然数的乘积最大。 ## 输入格式 只一个正整数 $n$,($3 \leq n \leq 10000$)。 ## 输出格式 第一行是分解方案,相邻的数之间用一个空格分开,并且按由小到大的顺序。 第二行是最大的乘积。 ## 输入输出样例 #1 ### 输入 #1 ``` 10 ``` ### 输出 #1 ``` 2 3 5 30 ``` 这题编码不复杂,难在思路,这其实更像是一道数学题,思路如下: 对于任何数n,k从2开始自增求和,sum=sum+k,直到sum>=n; 然后定义r=sum-n; 分情况讨论r, 如果r==0,不用特殊处理 如果r==1,那么移除2,k=k+1 如果r>1,那么移除2~k中的r。 最后对所有数字,求乘积,需要高精乘法
评论(0)
评论(必填)
名称(必填)
联系方式(可选)
验证码(必填)
提交
评论(必填)
名称(必填)
联系方式(可选)
验证码(必填)