約数を表示するメソッドのスピードアップ。
Number.prototype.yakusu = function() { var result = []; var l = this + 1; for(var i=1;i<l;i++) { if(this % i == 0) { result.push(i); if(i != this / i) result.push(this / i); l = this / i; } } return result; }
返される値の順番がが気持ち悪いけど。
大きい数の素数の場合だとあんまりはやくないか。
実行例
var a=100 print(a.yakusu()); ---- 1,100,2,50,4,25,5,20,10
修正
1の約数が返らないのを修正。もういっ回修正。