在微积分中,数学函数的导数定义了它的变化速度。函数f(x)的导数可以标记为f'(x),有时可以缩写为f和f'。
两个函数fg的乘积的导数是f'g + g'f。三fgh的导数是f'gh + fg'h + fgh'。一般说来,任意多个函数的乘积的导数是除一个函数以外的所有函数的乘积之和,乘以其余函数的导数对每个单个函数的求和。
您面临的挑战是,获取一串不同的字母字符,并将其转换为派生字符。不需要间距或简化,由+分隔的术语可以按任何顺序排列。该字符串将至少包含两个字符。
这是密码-高尔夫,所以最短的代码赢了!
abc -> a'bc+ab'c+abc'
de -> d'e+de'
longabcdef -> l'ongabcdef+lo'ngabcdef+lon'gabcdef+long'abcdef+longa'bcdef+longab'cdef+longabc'def+longabcd'ef+longabcde'f+longabcdef'
short -> s'hort+sh'ort+sho'rt+shor't+short'发布于 2022-05-07 05:08:47
发布于 2022-05-09 15:28:41
发布于 2022-05-07 01:24:16
[ dup length [1,b] [ cut "'"glue ] with map "+"join ]如果每个产品的顺序都不重要:
[ all-rotations [ 39 suffix ] map "+"join ] ! "short"
all-rotations ! { "short" "horts" "ortsh" "rtsho" "tshor" }
[ 39 suffix ] map ! { "short'" "horts'" "ortsh'" "rtsho'" "tshor'" }
"+"join ! "short'+horts'+ortsh'+rtsho'+tshor'"https://codegolf.stackexchange.com/questions/246979
复制相似问题