シグマの二乗をJavaScriptで書く

概要

シグマの二乗の総和をjavascriptで関数にします。
ループ縛りとかやろうと思ったけどループのパターンも書けばいいやと思ったので関数の再起とループと公式を使ったものの3つを作ることにしました。

 \sum_{k=1}^n k^2

ループでのパターン

?View Code JAVASCRIPT
'use strict'
 
function shiguma(offset, length, func){
    let result = 0;
    for(let i=offset;i<=length;i++){
        result += calc(i);
    }
    return result;
}
function calc(number){
    return Math.pow(number, 2);
}
let result = shiguma(1, 2)
 
console.log(result);

関数再起でのパターン

?View Code JAVASCRIPT
'use strict'
 
function shiguma(offset, length, func){
    let sum = 0;
    return func(sum, offset, length);
}
function calc(sum, number, length){
    let result = Math.pow(number, 2);
    sum += result;
    let current = number + 1;
    if(current > length){
        return sum;
    }
    return calc(sum, current, length)
}
let result = shiguma(1, 4, calc)
console.log(result);

公式を使ったパターン

?View Code JAVASCRIPT
'use strict'
 
function shiguma(offset, length){
    return (length * ((length+1)*(2*length+1))) / 6;
}
let result = shiguma(1, 3);
 
console.log(result);

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です