Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
prettier fixes
  • Loading branch information
ankana2113 authored Oct 26, 2024
commit e6cda60c542fcf75ccf2bba42c424c8ef48c3dd4
23 changes: 13 additions & 10 deletions Maths/DigitalRoot.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
export const digitalRoot = (num) => {
const digitalRoot = (num) => {
/**
* Calculates the digital root of a number in constant time.
* @param {number} num - The number to compute the digital root for.
* @returns {number} The digital root of the given number.
*
* @example
* digitalRoot(456) // returns 6
* digitalRoot(-999) // returns 9
* digitalRoot(0) // returns 0
* @example digitalRoot(456) // returns 6
* @example digitalRoot(-999) // returns 9
* @example digitalRoot(0) // returns 0
*/
if (num < 0) num = -num;
return num === 0 ? num : 1 + ((num - 1) % 9);
};
/*------------------------------------------------------------------------------------*/

export const digitalRootRecursive = (num) => {
const digitalRootRecursive = (num) => {
/**
* Calculates the digital root of a number using recursion.
* @param {number} num - The number to compute the digital root for.
* @returns {number} The digital root of the given number.
*
* @example
* digitalRoot(456) // returns 6
* digitalRoot(999) // returns 9
* digitalRoot(0) // returns 0
* @example digitalRootRecursive(456) // returns 6
* @example digitalRootrecursive(999) // returns 9
* @example digitalRootRecursive(0) // returns 0
*/
if (num < 0) num = -num; // Handle negative input by converting to positive
if (num < 10) return num; // Base case for single-digit number
Expand All @@ -32,3 +30,8 @@ export const digitalRootRecursive = (num) => {
const sum = (num % 10) + digitalRootRecursive(Math.floor(num / 10));
return digitalRootRecursive(sum); // Call digitalRoot recursively to reduce to single digit
};

export {
digitalRoot,
digitalRootRecursive
}
Loading