You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将正整数拆分为3个正整数之和,求lcm最小的拆分方案

问题求解方案

给定整数2 < n < 2^31,求解三个正整数a、b、c满足a+b+c =n且lcm(a,b,c)最小的方案,时间复杂度为O(1),完全适配大整数场景,分情况处理如下:

情况1:n能被3整除(n % 3 == 0)

  • 拆分方案:a = b = c = n/3
  • 对应lcm:n/3
  • 原理:三个数相等时最小公倍数等于本身,且是所有可能中最小的取值(三个数的平均值为n/3,最小公倍数不可能小于平均值)。

情况2:n除以3余1(n %3 ==1)

子情况2.1:n为奇数

  • 拆分方案:a=1, b=(n-1)/2, c=(n-1)/2
  • 对应lcm:(n-1)/2
  • 示例:n=7,拆分1,3,3,lcm=3。

子情况2.2:n为偶数

2.2.1 n能被4整除

  • 拆分方案:a = n/4, b =n/4, c= n/2
  • 对应lcm:n/2
  • 示例:n=16,拆分4,4,8,lcm=8。

2.2.2 n除以4余2

  • 拆分方案:a=2, b=(n-2)/2, c=(n-2)/2
  • 对应lcm:(n-2)/2
  • 示例:n=10,拆分2,4,4,lcm=4。

情况3:n除以3余2(n%3 ==2)

子情况3.1:n为奇数

  • 拆分方案:a=1, b=(n-1)/2, c=(n-1)/2
  • 对应lcm:(n-1)/2
  • 示例:n=17,拆分1,8,8,lcm=8,和题目给出的最优解一致。

子情况3.2:n为偶数

3.2.1 n能被4整除

  • 拆分方案:a =n/4, b=n/4, c=n/2
  • 对应lcm:n/2
  • 示例:n=8,拆分2,2,4,lcm=4。

3.2.2 n除以4余2

  • 拆分方案:a=2, b=(n-2)/2, c=(n-2)/2
  • 对应lcm:(n-2)/2
  • 示例:n=14,拆分2,6,6,lcm=6。

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 20:48:00