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

再帰

課題01
 

再帰を使って1から10までの整数をコンソールに表示してください。

課題02
 

再帰を使って30から50までの3で割り切れる整数をコンソールに表示してください。

function printNumber(x) {
// ここを実装する
}

// printNumberは以下のように使う
printNumber(0);

課題03
 

再帰を使って1から10までの和を求めてください。

課題04
 

再帰を使って30から50までの3で割り切れる整数を和を求めてください。

パターン1

// @param x 現在の値
// @param sum 現在の合計値
function sumNumber(x, sum) {
// ここを実装する
}

// 以下のように使う
const s = sumNumber(0, 0);
console.log(s);

パターン2

function sumNumber(x) {
// ここを実装する
}

// 以下のように使う
const s = sumNumber(0);
console.log(s);

課題05
 

再帰を使って任意の整数の配列の各要素の値をコンソールに表示してください。

課題06
 

再帰を使って任意の整数の配列の各要素の値の和を求めてください。

パターン1

function sumArray(array, index, init) {
// ここを実装する
}

// 以下のように使う
const array = [1, 2, 3, 4, 5];
const index = 0;
const init = 0;
const s = sumArray(array, index, init);
console.log(s);

パターン2

function sumArray(array) {  
// ここを実装する
}


// 以下のように使う
const array = [1, 2, 3, 4, 5];
const s = sumArray(array);
console.log(s);

課題07
 

再帰を使って任意の整数の配列の各要素の値を2倍した別の配列を作成してください。

課題08
 

再帰を使って任意の整数の配列の各要素の値が偶数の要素だけ保持する別の配列を作成してください。

課題09
 

再帰を使って配列のmap関数を実装してください。

function map(array, callback) {
// ここを実装してください
}

課題10
 

再帰を使って配列のfilter関数を実装してください。

function filter(array, callback) {
// ここを実装してください
}

課題11
 

再帰を使って配列のreverse関数を実装してください。

function reverse(array) {
// ここを実装してください
}

課題12
 

再帰を使って以下のオブジェクトのleftの値の和を求めてください。

{
leaf: 1,
branches: [
{ leaf: 2, branches: [] },
{ leaf: 3,
branches: [
{
leaf: 4,
branches [
{ leaf : 5, branches: [] }
{ leaf : 6, branches: [] }
]
},
{ leaf: 7, branches: [] },
{ leaf: 8, branches: [] }
]
},
{
leaf: 9,
branches: [
{ leaf: 10, branches: [] }
]
}
]
}