Простые Множители | q: 0 0 0 | Степени Простых |
q: y есть список простых множителей в разложении положительного целого аргумента y . Например:y=: 105600 q: y 2 2 2 2 2 2 2 3 5 5 11 */ q: y 105600 $ q: 1 0 */ q: 1 1 q: b. _1 */ q: _1+2^67x 193707721 761838257287 |
Если x положительно и конечно, x q: y
есть список степеней простых чисел в разложении положительного
целого y на простые множители, соответствующие
первым x простым числам;
при x равном _ , берется достаточное
для представления аргумента количество простых чисел. Для отрицательных и конечных x , x q: y есть таблица из двух строк, содержащая последние |x простых чисел и их степени в разложении y на простые множители ; при x равном __ , берется достаточное для представления аргумента количество простых. Например: 2 q: 700 2 0 10 q: 700 2 0 2 1 0 0 0 0 0 0 _ q: 700 2 0 2 1 |
В текущей реализации, множители в результате q: , большие 2^31 , проверяются на простоту стохастическим алгоритмом Миллера-Рабина (Miller-Rabin).
~.@q: 700 NB. Различные простые множители 2 5 7 +/"1@=@q: 700 NB. Степени в разложении 2 2 1 5 q: 144^100x 400 200 0 0 0 __ q: 700 2 5 7 2 2 1 __ q: !20x 2 3 5 7 11 13 17 19 18 8 4 2 1 1 1 1 y=: 100 e=: _&q: NB. Полный список степеней (e ; +:&.e ; -:&.e ; %&3&.e)y NB. Степени, квадрат, корень, кубический корень +-----+-----+--+-------+ |2 0 2|10000|10|4.64159| +-----+-----+--+-------+ V=: /@,: NB. Для векторов несовместимой длины 12 (+V&.e; -V&.e; >.V&.e; <.V&.e) y NB. Произведение, остаток, НОК, НОД +----+----+---+-+ |1200|0.12|300|4| +----+----+---+-+ totient=: * -.@%@~.&.q: NB. Функция Эйлера totient 700 240 +/ 1 = 700 +. i.700 240