mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 17:50:39 +08:00
Add Algorithms to Math with tests (#429)
* chore: add area and area test * chore: add armstrong number * chore: add factors * chore: add perfect cube * chore: add perfect square * chore: add perfect number * chore: add number of digits * chore: fix according to standardjs * chore: remove conflicting files
This commit is contained in:

committed by
GitHub

parent
fc0901282b
commit
cd6ec65e54
24
Maths/ArmstrongNumber.js
Normal file
24
Maths/ArmstrongNumber.js
Normal file
@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Author: dephraiim
|
||||
* License: GPL-3.0 or later
|
||||
*
|
||||
* An Armstrong number is equal to the sum of the cubes of its digits.
|
||||
* For example, 370 is an Armstrong number because 3*3*3 + 7*7*7 + 0*0*0 = 370.
|
||||
* An Armstrong number is often called Narcissistic number.
|
||||
*
|
||||
*/
|
||||
|
||||
const armstrongNumber = (num) => {
|
||||
if (num < 0 || typeof num !== 'number') return false
|
||||
|
||||
let newSum = 0
|
||||
|
||||
const numArr = num.toString().split('')
|
||||
numArr.forEach((num) => {
|
||||
newSum += parseInt(num) ** numArr.length
|
||||
})
|
||||
|
||||
return newSum === num
|
||||
}
|
||||
|
||||
export { armstrongNumber }
|
Reference in New Issue
Block a user