>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

Простые Числа p:  0 _ _ Простые Числа

Результатом p: i является i-тое простое число. Например:
   p: 0
2
   p: i. 15
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

Обратная функция к p: есть количество простых чисел, меньших некоторого заданного числа (часто обозначается как π(n) ):

   pi=: p:^:_1
   pi i. 15
0 0 0 1 2 2 3 3 4 4 4 4 5 5 6

   (] , pi ,: p:@pi) i.15
0 1 2 3 4 5 6 7  8  9 10 11 12 13 14
0 0 0 1 2 2 3 3  4  4  4  4  5  5  6
2 2 2 3 5 5 7 7 11 11 11 11 13 13 17

   y=: (2^31)-1
   ]a=: pi y
105097564
   ]b=: p: a
2147483647
   b=y
1
 

_4 p: y простое число, предшествующее y ; эквивалентно
<:^:(0&p:)^:_"0 >.y-1 .

_1 p: y эквивалентно p:^:_1 y : количество простых, меньших y .

0 p: y эквивалентно -.1 p: y .

1 p: y равно 1 тогда и только тогда, когда y простое.

2 p: y эквивалентно __ q: y , дает 2-х строчную таблицу множителей и их степеней в разложении y на простые множители.

3 p: y эквивалентно q: y , список простых множителей y , произведение которых равно y .

4 p: y — простое число, следующее за y ; эквивалентно
>:^:(0&p:)^:_"0 <.1+y .

5 p: y вычисляет фи-функцию Эйлера (или "тотиенту", Euler’s totient function) от аргумента y : количество неотрицательных целых меньших y и, при этом, относительно к нему простых, тоесть сумму +/1=y+.i.y .

На данный момент, аргументы, большие 2^31, проверяются на простоту стохастическим алгоритмом Миллера-Рабина (Miller-Rabin).


   4 p: 20
23
   4&p:^:(i.8) 20
20 23 29 31 37 41 43 47

   _4 p: 50
47
   _4&p:^:(i.8) 50
50 47 43 41 37 31 29 23

   ] y=: !14x
87178291200
   ] c=: _4 4 p:"0 y
87178291199 87178291219
   1 p: ({.c)+i.1--/c
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
   1 p: _1+2^67x
0
   m=: 366384x * */ p: i.9x
   1 p: 6171054912832631x + m * i.25
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

   2 p: y
 2 3 5 7 11 13
11 5 2 2  1  1
   'p e'=: 2 p: y
   */p^e
87178291200
   y
87178291200

   3 p: y
2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 5 5 7 7 11 13
   */ 3 p: y
87178291200
   y
87178291200
   e#p
2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 5 5 7 7 11 13

   5 p: y
16721510400
   */(p-1)*p^e-1
16721510400
   (- ~:)&.q: y
16721510400


>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь