我如何让这个等式自行相乘?
*/-.%~.q:36
除了再次重复数字 36。顺便说一下,这是欧拉的总函数。
我缺少将其自身相乘的最后一步。
是的,我知道他们在 jsoftware 已经有了这个函数的代码。但我正在尝试分解代码并学习。
很抱歉问这么简单的问题。在 Google 上很难为 J 找到帮助。
我如何让这个等式自行相乘?
*/-.%~.q:36
除了再次重复数字 36。顺便说一下,这是欧拉的总函数。
我缺少将其自身相乘的最后一步。
是的,我知道他们在 jsoftware 已经有了这个函数的代码。但我正在尝试分解代码并学习。
很抱歉问这么简单的问题。在 Google 上很难为 J 找到帮助。
再次使用该值最直接的方法是再次包含该值。
*/ 36, -. % ~. q: 36
12
名称可以用于值。
*/ y, -. % ~. q: y=. 36
12
可以定义动词。该名称是其中的本地名称。
etf=: verb : '*/ y, -. % ~. q: y'
etf 36
12
同一个动词可以用默认的形式表达。在这种形式中,参数是隐含的,而不是命名的。这里两次使用参数值的关键是在括号内创建的钩子。
etfT=: */ @ ( , -. @ % @ ~. @ q: )
etfT 36
12
好的,这就是我想出的。
(* */@:-.@:%@~.@q:)36
在我尝试了这个函数试图找出它是如何工作的并进行研究等之后(我只有第二年的微积分背景),我回顾了一个旧的素数函数标签,p:
发现 J 已经建立在欧拉的 totient 中功能5&p:
。