使用 @ 写一个随机取数求和等于指定值的自定义函数

M函数如下:

let
    fx=(x as list,y as number,z as list) =>
                let
                    A=List.Sort(List.Select(x,each _<=y),(x)=>Number.Random()){0},
                    B=y-A,
                    C=if B=0 then z&{A} else @fx(x,B,z&{A})
                in
                    C
in
    fx({1..100},300,{})

其中第一参数指定数字范围,第二参数为要求和的结果,第三参数应该为一个{}用来盛放结果
每次刷新可以显示不同值
有兴趣的研究研究

Ntt.Docomo