divisors.js(ファイルに保存してください)
//宣言 function divisors(n, ps) { if(n < 1 || n % 1 != 0) return; this.n = n; this.index = 0; this.ary = ps.factorize(n); this.length = this.ary.length; this.size = 1; for(var i = this.length - 1; i >= 0; i -= 2) this.size *= (this.ary[i] + 1); this.getdivisor = getdivisor; this.atEnd = false; this.MoveNext = div_MoveNext; } //使い方 var p_nums = new p_numbers() //素数オブジェクト var divs = new divisors(n, p_nums); //nの約数 while(!divs.atEnd) { //最後にいくまで var a = divs.getdivisor(); //約数を得る alert(a); divs.MoveNext(); //次の約数へ }