Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9462862

Browse files
Created basic recursive function (#9 IP)
1 parent d37ff7f commit 9462862

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

‎Algorithms/Recursion/Basics.ts‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
function inception(repeat: number): string {
2+
// 1. Base Case(s)
3+
if (repeat === 0) return 'Done!\n'; // Base Case(s) must be written first in method
4+
// 2. Input Validation
5+
if (repeat < 1) return 'Too small!\n'; // Input validation must occur after base case(s)
6+
7+
console.log('Counter:', repeat);
8+
9+
// 3. Recursive Call
10+
return inception(repeat-1); // The recursive call should return itself so the calculated value can bubble up
11+
}
12+
13+
console.log(inception(5));
14+
console.log(inception(1));
15+
console.log(inception(-1));
16+
17+
// RUN: deno run Algorithms/Recursion/Basics.ts
18+
19+
// --------------------------- Terminal Output: ---------------------------
20+
// Counter: 5
21+
// Counter: 4
22+
// Counter: 3
23+
// Counter: 2
24+
// Counter: 1
25+
// Done!
26+
//
27+
// Counter: 1
28+
// Done!
29+
//
30+
// Too small!

‎Algorithms/Recursion/Factorial.ts‎

Whitespace-only changes.

‎Algorithms/Recursion/Fibonacci.ts‎

Whitespace-only changes.

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /