number-theory
Version:
Number theory functions for javascript.
19 lines (16 loc) • 466 B
JavaScript
;
var jacobiSymbol = require('./jacobi_symbol');
/**
* Find a quadratic nonresidue.
* See: http://en.wikipedia.org/wiki/Quadratic_residue
* @param {Number} p A prime number.
* @return {Number} A number b so that there is no c with c^2 = b mod p
* @module number-theory
* @author Jim Fowler
*/
module.exports = function quadraticNonresidue(p) {
for (var x = 2; x < p; x++) {
if (jacobiSymbol(x, p) == -1) { return x; }
}
return NaN;
};