Swift中循环的打印值总和
对于一个项目,我试图使用Swift计算10000以下3和5的倍数之和。插入NoobJokes 使用ForLoop打印3和5的倍数是相当容易的,但是我想知道如何…对我打印的所有项目进行“求和”Swift中循环的打印值总和,swift,swift3,swift-playground,Swift,Swift3,Swift Playground,对于一个项目,我试图使用Swift计算10000以下3和5的倍数之和。插入NoobJokes 使用ForLoop打印3和5的倍数是相当容易的,但是我想知道如何…对我打印的所有项目进行“求和” for i in 0...10000 { if i % 3 == 0 || i % 5 == 0 { print(i) } } (468个单独的数字打印出来;如何求和?在Swift中,无需重复循环即可完成: let numberOfDivisiblesBy3And5
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
print(i)
}
}
(468个单独的数字打印出来;如何求和?在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})
试试这个:
var sum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
sum = sum + i
print(i)
}
}
print(sum)
你只需要把我喜欢的结果加起来
var sum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
sum = sum + i
print(i)
}
}
现在sum包含了底线中的值之和,这应该是有效的
var sum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0 {
sum += i
print(i)
}
}
print(sum)
只是简单介绍一下这个过程。首先,当循环执行时,需要一个变量来保存和的值。您可以定义Int类型的
可选变量,也可以使用与第一行相同的默认值初始化它。每次循环执行时,i
将被添加到totalSum
中,在最后一次迭代后,您将得到结果
var totalSum = 0
for i in 0...10000 {
if i % 3 == 0 || i % 5 == 0
{
print(i)
totalSum = totalSum + i
}
}
print (totalSum)
范围:指定要操作的数字范围
在这里,我们使用过滤器方法过滤掉3和5的倍数,然后对过滤后的值求和。
(reduce(0,+)执行此任务)
作为一个人,你会怎么做?描述这个过程。你可以用它给一个变量加上一个数字。实际上结果应该是4668。我很感激你的回答,但请不要随意给出。引导OP完成引导您实现这一目标的思考过程。问题要求的是这些数字的总和,而不是计数。需要var
而不是letsum+=i
也是首选谢谢您的演练!我的基础知识提高了。你是一位绅士和学者!我已经编辑了我的答案。你能取消否决票吗?太好了!但不是我投了对不起的票。我的com仅用于调节目的
let sum = (3...n).filter({($0 % 3) * ($0 % 5) == 0}).reduce(0,+)