Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift中循环的打印值总和_Swift_Swift3_Swift Playground - Fatal编程技术网

Swift中循环的打印值总和

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

对于一个项目,我试图使用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 = (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
而不是let
sum+=i
也是首选谢谢您的演练!我的基础知识提高了。你是一位绅士和学者!我已经编辑了我的答案。你能取消否决票吗?太好了!但不是我投了对不起的票。我的com仅用于调节目的
let sum = (3...n).filter({($0 % 3) * ($0 % 5) == 0}).reduce(0,+)