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

求0-26整数拆分为9、3、1计数的精简Python实现方案

精简实现方案

这个问题本质是求目标整数对9、3、1的贪心拆解(因为9、3、1为倍数关系,贪心算法可以直接得到系数和最小的解,完全匹配你给出的示例逻辑),仅需要三次整除+取余操作即可完成,不需要循环和多余的列表存储。

实现代码

def one_3_9(num):
    # 参数合法性校验
    if not 0 <= num <= 26:
        print("Number Should be more than 0 and less than 26.")
        return
    a = num // 9
    remainder = num % 9
    b = remainder // 3
    c = remainder % 3
    print("nines: ", [a])
    print("threes: ", [b])
    print("Ones : ", [c])
    # 若需要返回结果可补充 return a, b, c

逻辑说明

  • 第一步用目标数除以9取整,直接得到9的个数a,除以9的余数就是剩下需要用3和1凑的数值
  • 第二步用余数除以3取整,得到3的个数b,再次取余的结果就是1的个数c
  • 整个过程时间复杂度为O(1),无多余循环和变量开销,逻辑清晰易维护

测试验证

调用one_3_9(25)时:

  • 25//9 = 2(a=2),余数为25%9=7
  • 7//3=2(b=2),余数为7%3=1(c=1)
    输出结果和你给出的示例完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:24:02