メインコンテンツまでスキップ

追加演習

問題1 Distance

与えられる二つの点の距離を求める関数を考えなさい。
この時、√の計算には以下を用いると良い。
Math.sqrt(4) // 2

問題2 ArrayPrimeFilter

2以上の整数値の配列を受け取り、含まれる素数の配列を返す関数を作成しなさい。

例) [2, 3, 4, 5] => [2, 3, 5]

問題3 Multiplying_i

数値の配列を受け取り、配列の`i`番目(1~)の要素を`i`倍した配列を返す関数を作成しなさい。

例) [2, 3, 4] => [2, 6, 12]

問題4

function g (f) {
return (function (x) {
return f(f(x))
})
}
function increment (x) {
return x + 1;
}

// g(increment)(0)の結果を考えて、実行してみよ
// g(g(increment))(0)の結果を考えて、実行してみよ
// g(g(g(increment)))(0)の結果を考えて、実行してみよ
// g(g(g))(increment)(0)の結果を考えて、実行してみよ
// g(g(...g(increment)))(0) でgがn個のときの結果を考えてみよ
// g(g(...g(g)))(increment)(0) でgがn個のときの結果を考えてみよ
// 最後の2つは厳密性は無視しても良いので、証明を考えてみてください