wps/excel函数技巧:使用reduce进行规划求解,凑计算式
文章标签:
excel函数公式加减乘除法大全
已知一个数是1973,请写出由259与299凑成的计算式,要求有这两个数及其倍数加减乘除得到,需要为整数。公式如下:
=LET(a,DROP(REDUCE("",259*SEQUENCE(500),LAMBDA(x,y,VSTACK(x,
DROP(REDUCE("",299*SEQUENCE(500),LAMBDA(m,n,
VSTACK(m,
HSTACK(259&"*"&y/259&"+"&299&"*"&n/299,y+n),
HSTACK(259&"*"&y/259&"-"&299&"*"&n/299,y-n),
HSTACK(259&"*"&y/259&"/"&299&"*"&n/299,y/n),
HSTACK(299&"*"&n/299&"//"&259&"*"&y/259,n/y)))),1)))),1),
FILTER(a,ABS(INDEX(a,,2)=1973)))
输出结果为:
259*3+299*4 | 1973 |
259*302-299*255 | 1973 |
公式思路:259*299大于1973所以不用考虑相乘的问题,那么就剩下三种可能:加、两个减、两个除,一共5种情况。本例因为电脑性能的问题只算到500个因子的情况,实际上可以更多。