对于一个项目,我试图使用Swift找到低于10,000的3和5的倍数之和。插入NoobJokes。
使用ForLoop打印3和5的倍数相当容易,但我想知道我怎么能..."总和"我打印的所有项目。
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
print(i)
}
}
(打印了468个单独的数字;它们如何相加?)
答案 0 :(得分:1)
在Swift中,您可以在没有重复循环的情况下执行此操作:
let numberOfDivisiblesBy3And5 = (0...10000).filter{ $0 % 3 == 0 || $0 % 5 == 0 }.count
或者获得项目的总和:
let sumOfDivisiblesBy3And5 = (0...10000).filter{ $0 % 3 == 0 || $0 % 5 == 0 }.reduce(0, {$0 + $1})
答案 1 :(得分:1)
稍微了解一下这个过程。首先,每当循环执行时,您将需要一个可以保存总和值的变量。您可以定义optional variable of type Int
或使用与第一行中相同的默认值对其进行初始化。每次循环执行时,i
multiple of 3 or 5
将被添加到totalSum
,在最后一次迭代后,您将获得结果。
var totalSum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0
{
print(i)
totalSum = totalSum + i
}
}
print (totalSum)
答案 2 :(得分:0)
试试这个:
var sum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
sum = sum + i
print(i)
}
}
print(sum)
答案 3 :(得分:0)
你只需要将结果总和如下
var sum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
sum = sum + i
print(i)
}
}
现在sum包含值的总和
答案 4 :(得分:0)
在底线,这应该有效。
var sum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
sum += i
print(i)
}
}
print(sum)
答案 5 :(得分:0)
范围:指定要操作的操作的数字范围。
这里我们使用过滤器方法过滤掉3和5的倍数,然后对过滤后的值求和。 ( reduce (0,+)完成工作)
let sum = (3...n).filter({($0 % 3) * ($0 % 5) == 0}).reduce(0,+)