How to find all the strong numbers in given range with Node.js

1 Answer

0 votes
// Strong numbers are the numbers that the sum of the factorial of its digits 
// is equal to the original number
  
// 145 is a strong number: 1 + 24 + 120 = 145

for (let n = 1; n <= 10000000; n++) {
    let tmp = n;
    let sum = 0;
    let reminder = 0;
  
    while (tmp != 0) {
        reminder = tmp % 10;
        sum = sum + factorial(reminder);
        tmp = Math.floor(tmp / 10);
    }
    
    if (sum == n) {
        console.log(n);
    }
}    
                 
function factorial(n) {
    let fact = 1;
  
    for (let i = 2; i <= n; i++) {
        fact = fact * i;
    }
  
    return fact;
}
 
 
 
/*
run:
  
1
2
145
40585
   
*/

 



answered Jun 23, 2024 by avibootz
edited Jun 23, 2024 by avibootz

Related questions

1 answer 129 views
1 answer 112 views
1 answer 184 views
1 answer 2,185 views
1 answer 220 views
...