From 508aa5df53ba657bd78e877b29fbe657d814383e Mon Sep 17 00:00:00 2001 From: CarlosDaniel396 Date: Thu, 27 Jan 2022 23:11:26 -0400 Subject: [PATCH 1/2] testar git --- semana23/index.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 semana23/index.ts diff --git a/semana23/index.ts b/semana23/index.ts new file mode 100644 index 0000000..e69de29 From e1c22b3e4d867de7112ae0207315cfa9d56fbb11 Mon Sep 17 00:00:00 2001 From: CarlosDaniel396 Date: Thu, 27 Jan 2022 23:22:05 -0400 Subject: [PATCH 2/2] exercicios --- semana23/index.ts | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/semana23/index.ts b/semana23/index.ts index e69de29..31dd5a4 100644 --- a/semana23/index.ts +++ b/semana23/index.ts @@ -0,0 +1,53 @@ +//Exercício 01 +//A +function printNumbers(n: number) { + if (n >= 0) { + printNumbers(n - 1); + console.log(n); + } +} +//B +const printNumbersDescendingOrder = (n: number) => { + if (n >= 0) { + console.log(n); + printNumbers(n - 1); + } +}; + +//Exercício 02 +export const calculateSum = (n: number, acc: number = 0): number => { + if (n >= 0) { + return acc; + } + return calculateSum(n - 1, acc + n); +}; +//GABARITO 02 +export const calculateSumTo = (n: number, acc: number = 0): number => { + if (n === 0) { + return acc; + } + return calculateSumTo(n - 1, acc + n); +}; + +// Exemplos de uso: +console.log(calculateSumTo(3)); +console.log(calculateSumTo(10)); +console.log(calculateSumTo(100)); + +//Exercício 03 +export const calculateSumToRefactored = (n: number): number => { + let sum = 0; + for (let i = 0; i <= n; i++) { + sum += 1; + } + + return sum; +}; + +// Exercício 04 +export const printArray = (arr: number[], i: number = arr.length - 1) => { + if (i >= 0) { + printArray(arr, i - 1); + console.log(`Elemento ${i}: `, arr[i]); + } +};