How to sum the factorials of the digits of a number in PHP

1 Answer

0 votes
function factorial($n) {
    return ($n == 1 || $n == 0) ? 1 : $n * factorial($n - 1);
}

function sumFactorialDigits($num) {
    $sum = 0;
     
    while ($num != 0) {
        $sum += factorial($num % 10);
        $num = (int)($num / 10);
    }
     
    return $sum;
}


$number = 345;

echo "sum factorial digits = " . sumFactorialDigits($number);




/*
run:

sum factorial digits = 150

*/

 



answered Jan 2, 2024 by avibootz
...