0
已采纳
我只有40分的代码:
定义:
int n,ans;
函数:
void dfs(int sum,int num,int newmax)
{
if(sum==n)
{
ans=max(ans,num);
return;
}
for(int i=newmax+1;i<=n-1&&sum+i<=n;i++) dfs(sum+i,num*i,i);
}
主函数:
int main()
{
输入>>n;
dfs(0,1,0);
cout<<ans;
返回值 0;
}
0
0
