首页 > 解决方案 > 使用 ifelse 对数字求和

问题描述

我是编码新手,所以我很难完成作业。我想得到一些帮助..

  1. 在 R 中使用 ifelse 和 seq 命令,计算在 1 到 1000 之间除以 6 的数字的总和。(答案不是唯一的,但你的答案应该正确使用 ifelse 和 seq。)

  2. 计算在 1 到 1000 之间除以 3 的数字的总和。通过 for 循环。显示您的编码和总和。(答案不是唯一的。任何合理的 for 循环都会得到满分。)

我知道我应该为每个使用 seq(6,1000,6) 和 seq(3,1000,3) ,但我无法得到答案请帮忙

标签: rif-statementsum

解决方案


对于问题 1,您可以创建一个介于 1 到 1000 之间的序列,然后将数字相加(如果它可以被 6 整除)

num <- seq(1,1000)
total <- sum(ifelse(num %% 6 == 0, num, 0))
total
#[1] 83166

对于问题 2,您可以这样做:

total <- 0
for (i in num) {
  if(i %% 3 == 0)
     total <- total + i
}

total
#[1] 166833

还有其他方法可以做到这一点。

对于问题 1,您可以这样做:

sum(num[num %% 6 == 0])

或者

 sum(seq(6, 1000, 6))

同样,对于问题 2:

sum(num[num %% 3 == 0])

或者

sum(seq(3, 1000, 3))

推荐阅读