给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。

Posted dreamy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。相关的知识,希望对你有一定的参考价值。

/*
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。
*/
#include<stdio.h>
#include<math.h>

main()
{
    int n,rs=1;
    scanf("%d",&n);
    if(n==2){
        printf("1\n");
        return 0;
    }
    if(n==3){
        printf("2\n");
        return 0;
    }
    while(n>4){
        rs*=3;
        n=n-3;
    }
    printf("%d\n",rs*n);
}

以上是关于给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode-343. 整数拆分

343 Integer Break 整数拆分

整数拆分

343. 整数拆分

动态规划2 -------整数拆分

写写代码系列032:整数拆分(动态规划)