下面是我的 swift 函数,用于计算 0 到“upto”范围内给定实数集的倍数之和。该算法从 1 循环到上限,并将倍数数组映射到指定乘数的模数数组,然后使用乘法减少该数组,这样如果 i 的给定值可以被任何给定乘数整除,则归约的结果将为 0。
func sumOfMultiples(mults: [Int], upto: Int) -> {
var acc: Int = 0
for i in 1...upto {
if mults.map({i % $0}).reduce(1,*) == 0 {
acc += i
}
}
return acc
}
问题是我遇到编译错误
error: 'Int' is not a subtype of '()'
if mults.map({i % 0}).reduce(1,*) == 0 {
最佳答案
// Methinks you're missing this: ~~~~~~~~vvv
func sumOfMultiples(mults: [Int], upto: Int) -> Int {
关于Swift map 编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29131951/