查找满足两个 mod 条件的未知变量 "x"

Finding Unknown variable "x" that satisfies two mod conditions

我想知道如何找到满足两个mod条件的最小整数"x,"。

    x%%7 == 1
    x%%10 == 2

我曾尝试在一个函数中使用 for/while 循环,但没有这样的运气:

  min.integer <- function(x) {
    y = c(1:500000)
    for (i in y) {
      if (x%%10 == 2) {
        print(x)
      } else {
        break
      }     
    }
  }

这是解决这个问题的最佳方法吗?谢谢!

一个简单的 while 循环

m=n=0
x=1
while(!(m==1&n==2)){
  x=x+1
  m=x%%7
  n=x%%10
}
x
22

这可能有帮助:

twoModsSatisfied <- function(
    mod1
    , equals1
    , mod2
    , equals2
    , howMany # how many different values do you want to try
){
    x <- (0:howMany) * mod1 # all these values will satify the 1st condition
    x[which((x + equals1) %% mod2 == equals2)][1] + equals1
}

twoModsSatisfied(
    7
    , 1
    , 10
    , 2
    , 100
)

[1] 确保您只获得满足条件的第一个值。 0:howMany 确保您得到 twoModsSatisfied(7,2,10,2,100) 的正确结果。该函数不会检查请求是否不可能(例如 twoModsSatisfied(7,8,10,2,100)),但这也可以使用 if 语句轻松完成。