約数
Written 6/3/02
 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();                   //次の約数へ
 }
上のテキストボックスに自然数を入力して、ボタンを押してください。 次々に約数が表示されます。
必ず、素数オブジェクトと共に使ってください。
具体的な例が、プログラミング雑感10にあります。
JavaScriptサブルーチン集