如何在 R 中使用循环求解方程?

How do i solve an equation using loops in R?

提问人:mauri 提问时间:10/18/2023 更新时间:10/18/2023 访问量:64

问:

如果 xy 是正整数,则 x+xy+y=54。求解 x+y

我想将这个方程式“翻译”成 R 语言,但我是新手。 我尝试过使用 while 循环,但我不知道这是否是解决这个问题的最佳方法

R 循环 while 循环

评论

2赞 jpsmith 10/18/2023
你能编辑你的问题以包含你尝试过的代码吗?祝你好运!

答:

0赞 404NotFound 10/18/2023 #1

您可以使用 for 循环来查找方程 x + xy + y = 54 的正整数解,然后计算 x 和 y 的总和。

for (x in 1:53) {
  for (y in 1:53) {
    if (x + x * y + y == 54) {
      sum_x_y = x + y
      cat("Solution found: x =", x, "and y =", y, ", x + y =", sum_x_y, "\n")
    }
  }
}
0赞 Dave2e 10/18/2023 #2

下面是将方法矢量化的 R 方法。

#define all possible x values
x<- 1:54

#solve
y <- (54-x)/(1+x)

#find the values where y is an integer
x[which((y-as.integer(y)) ==0)]

另一个捷径是意识到 y 必须为 >=2,因此只需要求解 1 到 26 之间的 x。