gpt4 book ai didi

r - R 中的 Euler 项目 #1

转载 作者:行者123 更新时间:2023-12-04 11:24:54 25 4
gpt4 key购买 nike

问题

求1000以下能被3或5整除的所有数的和

我创建的一个解决方案:

x <- c(1:999)
values <- x[x %% 3 == 0 | x %% 5 == 0]
sum(values

第二个解决方案我无法上类并需要帮助。我把它粘贴在下面。
我正在尝试使用循环(这里,我使用 while(),然后我将尝试 for())。我仍在努力将索引(向量中的位置)的引用与向量中的值/观察分开。循环似乎让我更难区分两者。

为什么这不会产生 Euler #1 的答案?
x <- 0
i <- 1
while (i < 100) {
if (i %% 3 == 0 | i %% 5 == 0) {
x[i] <- c(x, i)
}
i <- i + 1
}
sum(x)

一句话,一行一行,这就是我所理解的正在发生的事情:
  • x 得到值 0
  • 我得到值 1
  • 而对象 i 的值(不是索引号)是 < 1000
  • if 可被 3 或 5 整除
  • 将该数字 i 添加到向量 x
  • 按顺序将 1 添加到 i(以保持循环达到定义的 1e3
  • 限制)
  • 对向量 x 中的所有项求和

  • 我猜 x[i] <- c(x, i) 不是将元素添加到向量 x 的正确方法。我该如何解决这个问题,还有什么不准确的?

    最佳答案

    首先,你的循环运行到 i < 100 ,不是 i < 1000 .

    二、替换x[i] <- c(x, i)x <- c(x, i)向向量添加一个元素。

    关于r - R 中的 Euler 项目 #1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21687166/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com