|
1 | 1 | export const digitalRoot = (num) => {
|
2 | 2 | /**
|
3 |
| - * Calculates the digital root of a number in constant time. |
4 |
| - * @param {number} num - The number to compute the digital root for. |
5 |
| - * @returns {number} The digital root of the given number. |
6 |
| - * |
7 |
| - * @example |
8 |
| - * digitalRoot(456) // returns 6 |
9 |
| - * digitalRoot(-999) // returns 9 |
10 |
| - * digitalRoot(0) // returns 0 |
11 |
| - */ |
| 3 | + * Calculates the digital root of a number in constant time. |
| 4 | + * @param {number} num - The number to compute the digital root for. |
| 5 | + * @returns {number} The digital root of the given number. |
| 6 | + * |
| 7 | + * @example |
| 8 | + * digitalRoot(456) // returns 6 |
| 9 | + * digitalRoot(-999) // returns 9 |
| 10 | + * digitalRoot(0) // returns 0 |
| 11 | + */ |
12 | 12 | if (num < 0) num = -num;
|
13 | 13 | return num === 0 ? num : 1 + ((num - 1) % 9);
|
14 | 14 | };
|
15 | 15 | /*------------------------------------------------------------------------------------*/
|
16 | 16 |
|
17 | 17 | export const digitalRootRecursive = (num) => {
|
18 | 18 | /**
|
19 |
| - * Calculates the digital root of a number using recursion. |
20 |
| - * @param {number} num - The number to compute the digital root for. |
21 |
| - * @returns {number} The digital root of the given number. |
22 |
| - * |
23 |
| - * @example |
24 |
| - * digitalRoot(456) // returns 6 |
25 |
| - * digitalRoot(999) // returns 9 |
26 |
| - * digitalRoot(0) // returns 0 |
27 |
| - */ |
| 19 | + * Calculates the digital root of a number using recursion. |
| 20 | + * @param {number} num - The number to compute the digital root for. |
| 21 | + * @returns {number} The digital root of the given number. |
| 22 | + * |
| 23 | + * @example |
| 24 | + * digitalRoot(456) // returns 6 |
| 25 | + * digitalRoot(999) // returns 9 |
| 26 | + * digitalRoot(0) // returns 0 |
| 27 | + */ |
28 | 28 | if (num < 0) num = -num; // Handle negative input by converting to positive
|
29 | 29 | if (num < 10) return num; // Base case for single-digit number
|
30 | 30 |
|
|
0 commit comments