【JavaScript】if文とfor文だけで素因数分解
ブログが移転しました。自動的にリダイレクトします
唐突に「素因数分解」がしたいと思ったのでプログラムで作ってみようと思います。
少しググってみると何やらいろんな関数が使われていて難しそうでした。
ですが今回はif文とfor文だけで素因数分解をしていこうと思います。(良いか悪いかは別として)
早速コード
今回のコードは以下のような感じです。
javascriptしか示してないので実際に使うときはHTMLに読み込むなどしなければいけません。
var num = 1000; //素因数分解する元の数 for (var i = 2; i < i + 1; i++) { if (num % i == 0) { for (var n = 1; n < n + 1; n++) { if (num % i == 0) { console.log(i); var num = num / i; } else { break; } } } if (num == 1) { break; } }
プログラムの簡単な説明
大まかな仕組み
まずfor文で2からの無限ループを作ります。
それでif文で最初に定義した数字をiで割り切れる(割り算のあまりが0)ならiで割り切れなくなるまで何度も割り続けます。
そして割り切れなくなったらiが次の値に変更し、同じ動作を繰り返します。
無限リープは割っていった数字が1になるまで繰り返します。