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

wxMaxima如何实现返回整数所有因数的列表功能

wxMaxima 获取整数所有因数列表的实现方案

方案1:调用内置函数(优先选择)

绝大多数wxMaxima版本已内置该功能,直接调用divisors()函数即可,使用示例:

divisors(6);

返回结果:[1, 2, 3, 6]

如果你运行上述代码提示函数未定义,再使用下方自定义函数方案。

方案2:自定义函数实现

你可以通过组合内置素因子分解能力,自己封装list_factors函数,代码如下:

list_factors(n) := block(
    [prime_facs:ifactors(n), result:[1]],
    /* 处理n=1的特殊情况 */
    if n = 1 then return([1]),
    /* 遍历每个素因子及其指数,扩展因数列表 */
    for fac_pair in prime_facs do (
        p:fac_pair[1],
        exp:fac_pair[2],
        result:apply(append,
            map(lambda(r, makelist(r * p^k, k, 0, exp)), result)
        )
    ),
    /* 对结果排序后返回 */
    sort(result)
)$

自定义函数测试示例

  • 输入list_factors(12); 返回 [1, 2, 3, 4, 6, 12]
  • 输入list_factors(18); 返回 [1, 2, 3, 6, 9, 18]
  • 输入list_factors(1); 返回 [1]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 05:06:05