给X赋予一个常量数组的初始值,后续每次循环时根据判断结果更新每个值,最后返回包含着多种信息的数组。
题目描述如下:
公式如下:
- D2=LET(O,REDUCE(+A2:C2,SEQUENCE(C2),LAMBDA(x,y,LET(V,INDEX(x,2),U,HSTACK(0,-17,-1),T,CEILING((10-@x)/4,1),x+IFS(V<=0,0,@x>9,HSTACK(-10,-60,-1),INDEX(x,3)<=T,U,V>=17*T,HSTACK(4,0,-1),1,U)))),IF(INDEX(O,2)>0,"不能","能"))
复制代码- E2=LET(O,REDUCE(+A2:C2,SEQUENCE(C2),LAMBDA(x,y,LET(V,INDEX(x,2),U,HSTACK(0,-17,-1),T,CEILING((10-@x)/4,1),x+IFS(V<=0,0,@x>9,HSTACK(-10,-60,-1),INDEX(x,3)<=T,U,V>=17*T,HSTACK(4,0,-1),1,U)))),P,INDEX(O,2),IF(P>0,B2-P&"m",C2-INDEX(O,3)&"s"))
复制代码 公式运算说明:
1)直接引用A2:C2单元格的数组,每个值分别代表{"魔法初值","距离","时间"}。
2)每次循环时,使时间减少1s,直到减少到0为止。
3)如果这1s跑步前进,就让“距离”减少17m,魔法值不变。HSTACK(0,-17,-1)
4)如果这1s执行了闪现,则让“魔法”减少10,“距离”也减少10。HSTACK(-10,-60,-1)
5)如果这1s执行了等待回复,则让“魔法”增加1,“时间”减少1s。HSTACK(4,0,-1)
6)最后,时间退成0之后循环完毕。检查数组三个值的结果,然后判断是否逃的出去及跑出最远距离或最短时间。
|