当掷硬币大量的次数,头朝上的数量比上投掷的总数应该会接近0.5. 然而,但是头朝上和底朝上的次数差的绝对值可能会非常巨大. 这可以使用下面的试验来描述, 结果显示在图 5 和 6 中. toss =: >: i. n =: 500 NB. 500 coin tosses heads =: +/\?n$2 ratio =: heads % toss diff =: |toss - 2*heads toss =: >: i. n =:10 NB. a small trial toss;ratio +--------------------+------------------------------------------------------------+ |1 2 3 4 5 6 7 8 9 10|1 0.5 0.666667 0.75 0.6 0.666667 0.714286 0.625 0.555556 0.5| +--------------------+------------------------------------------------------------+ toss;diff +--------------------+-------------------+ |1 2 3 4 5 6 7 8 9 10|1 0 1 2 1 2 3 2 1 0| +--------------------+-------------------+ 图 5: 头朝上的比率 图 6: 头朝上和底朝上的差值 5.4 Groups我们可以从数论来试验一些基本的想法来证明J的表现力. 12 +. 5 NB. greatest common divisor 1 27 +. 3 3 1 2 3 4 5 6 7 8 9 10 11 12 +. 12 1 2 3 4 1 6 1 4 3 2 1 12 NB. The numbers <: 12 which are coprime with 12 (1 = 1 2 3 4 5 6 7 8 9 10 11 12 +. 12) # 1 2 3 4 5 6 7 8 9 10 11 12 1 5 7 11 NB. The numbers <: 12 which have common factors with 12 (-. 1 = 1 2 3 4 5 6 7 8 9 10 11 12 +. 12) # 1 2 3 4 5 6 7 8 9 10 11 12 2 3 4 6 8 9 10 12 NB. 8 9 19 have common factors but do not divide 12 ((-. 1 = 1 2 3 4 5 6 7 8 9 10 11 12 +. 12) # 1 2 3 4 5 6 7 8 9 10 11 12) | 12 0 0 0 0 4 3 2 0 接下来,我们概括这些表达式作为函数totatives和non_totatives。 totatives =: 3 : 0 p =. >: i. y. (1 = p +. y.) # p ) non_totatives =: 3 : 0 p =. >: i. y. (-. 1 = p +. y.) # p ) totatives 12 1 5 7 11 totatives 28 1 3 5 9 11 13 15 17 19 23 25 27 non_totatives 12 2 3 4 6 8 9 10 12 non_totatives 15 3 5 6 9 10 12 15 divisors =: 3 : 0 p =. non_totatives y. (0 = p | y.) # p ) divisors "0 (12 27 100) 2 3 4 6 12 0 0 0 3 9 27 0 0 0 0 0 2 4 5 10 20 25 50 100 totatives 函数中n的数量被称为n的欧拉函数. 我们可以定义totient =: # @ totatives. 另一种隐形的定义是phi =: * -.@%@~.&.q:. (totient "0) 100 12 40 4 phi 100 12 40 4 欧拉定理指出给定一个整数 与互质, 然后 . 这导致了定义: euler =: 4 : 'x. (y.&| @ ^) totient y.' 2 euler 19 1 2 euler 35 1 3 euler 28 1 3 euler 205 1 3 euler 200005 1 两个 totatives 中 的产物 , 是一个 totative 中 n. 我们可以使用J的表 (/) 副词看到这一点. totatives 12 1 5 7 11 12 | 1 5 7 11 */ 1 5 7 11 1 5 7 11 5 1 11 7 7 11 1 5 11 7 5 1 我们注意到,我们有一组(封闭,单位元,逆,和关联性)。有一个表副词可以用来展示上述的结果。 table 1 : 0 u.table~ y. : (' ';,.x.),.({.;}.)":y.,x.u./y. ) 12&|@* table totatives 12 +--+-----------+ | | 1 5 7 11| +--+-----------+ | 1| 1 5 7 11| | 5| 5 1 11 7| | 7| 7 11 1 5| |11|11 7 5 1| +--+-----------+ 请注意,12的totatives的另外残基12不形成一个组。 12&|@+ table 0 , totatives 12 +--+------------+ | | 0 1 5 7 11| +--+------------+ | 0| 0 1 5 7 11| | 1| 1 2 6 8 0| | 5| 5 6 10 0 4| | 7| 7 8 0 2 6| |11|11 0 4 6 10| +--+------------+ |