-
Notifications
You must be signed in to change notification settings - Fork 0
/
totalDigitRekursif.js
29 lines (26 loc) · 1006 Bytes
/
totalDigitRekursif.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//Week-5 Exercise Total Digit Rekursif
/*
Diberikan sebuah function totalDigitRekursif(angka) yang menerima satu parameter berupa angka.
Function akan me-return nilai total dari digit tersebut dengan menambahkan
satu per satu angka dari digit paling depan ke paling belakang.
Wajib menggunakan rekursif untuk berlatih rekursif!
Disarankan untuk tidak menggunakan looping for untuk soal ini.
Contoh:
512, berarti outputnya adalah 8, karena 5 + 1 + 2 = 8.
1542, berarti outputnya adalah 12, karena 1 + 5 + 4 + 2 = 12.
*/
function totalDigitRekursif(angka) {
// you can only write your code here!
if(angka<10) {
return angka
}
else {
return Number(String(angka)[0]) + totalDigitRekursif(Number(String(angka).substring(1)))
}
}
// TEST CASES
console.log(totalDigitRekursif(512)); // 8
console.log(totalDigitRekursif(1542)); // 12
console.log(totalDigitRekursif(5)); // 5
console.log(totalDigitRekursif(21)); // 3
console.log(totalDigitRekursif(11111)); // 5