Swift 4-在操场上准确获取大型阶乘

时间:2018-07-16 20:40:02

标签: swift

我有一个函数来返回传入的值的阶乘,然后尝试获取该结果中的每个数字并找到所有数字的总和。在数字变得太大和不精确之前,此方法效果很好。

目前,我的回报率为100的87 !!

是否有一种方法可以仅使用Playgrounds来实现正确的总和,即不能导入BigInt框架?

import Foundation

var result : Double = 0
var sum = 0

func fact(value : Double) -> Double {
    if value == 1 {
        return 1
    } else {
        result = fact(value: value - 1) * value
        return result
    }
}

fact(value: 100)
var digits = Array(String(result)).map{Int(strtoul((String($0)),nil,16))}
for digit in digits {
    sum = sum + digit
}

print("The sum is: \(sum)")

0 个答案:

没有答案