1. HOME
  2. ブログ
  3. 【コピペOK】Javascriptで因数分解をやってみた

【コピペOK】Javascriptで因数分解をやってみた

Javascriptの授業で因数分解のプログラムを実装しました。

手順としては、

  1. x^2+ax+bのa, bの値の絶対値をとる(正の数はそのままで、負の数は正の数にする)
  2. bの約数をすべて抽出する
  3. bの約数の中から和がaになる組み合わせをみつける
  4. 出力する

となります。

function keisan(a, b) {
    if(a > 0 && b > 0) {
        for(let i = 1; i <= b; i++) {
            if(b % i == 0) {
                if(a == i + b / i){
                    document.write(`x^2+${a}x+${b}を因数分解すると(x+${i})(x+${b/i})になります。`);
                    break;
                }
            }
        }
    } else if(a < 0 && b < 0) {
        a = -1 * a;
        b = -1 * b;
        for(let i = 1; i <= b; i++) {
            if(b % i == 0) {
                if(a == i - b / i){
                    document.write(`x^2-${a}x-${b}を因数分解すると(x-${i})(x+${b/i})になります。`);
                    break;
                }
            }
        }
    } else if(a > 0 && b < 0) {
        b = -1 * b;
        for(let i = 1; i <= b; i++) {
            if(b % i == 0) {
                if(a == i - b / i){
                    document.write(`x^2+${a}x-${b}を因数分解すると(x+${i})(x-${b/i})になります。`);
                    break;
                }
            }
        }
    } else if(a < 0 && b > 0) {
        a = -1 * a;
        for(let i = 1; i <= b; i++) {
            if(b % i == 0) {
                if(a == i + b / i){
                    document.write(`x^2-${a}x+${b}を因数分解すると(x-${i})(x-${b/i})になります。`);
                    break;
                }
            }
        }
    } else {
        document.write("計算できません");
    }
}

keisan(-5, 6);
// x^2-5x+6を因数分解すると(x-2)(x-3)になります。

関連記事