1. 程式人生 > >34-Digit factorials

34-Digit factorials

Digit factorials

Problem 34

145 is a curious number, as 1! + 4! + 5! = 1 + 24 + 120 = 145. Find the sum of all numbers which are equal to the sum of the factorial of their digits. Note: as 1! = 1 and 2! = 2 are not sums they are not included.
package main
 
import (
   
"fmt" "strconv" ) /* Digit factorialsProblem 34 145 is a curious number, as 1! + 4! + 5! = 1 + 24 + 120 = 145. Find the sum of all numbers which are equal to the sum of the factorial of their digits. Note: as 1! = 1 and 2! = 2 are not sums they are not included. */ /** 1.把數字轉化成字串,然後拆開 2.判斷是否相等
*/ //求一個數的階乘的函式 func Factorial(n int) int { var result int if n > 0 { result = n * Factorial(n-1) return result } return 1 } func Breakjc(i int) int { result := 0 str := strconv.Itoa(i) for _, n := range str { result += Factorial(int(n - 48)) }
return result } func main() { var i, j int i = 3 //求所有組成數字的階乘和的函式 for { j = Breakjc(i) if i == j { fmt.Println(i) } i++ } }

結果:40730