s <- sample(1:9, replace = FALSE)
for (i in 1:1000000) {
if ((10*s[1] + s[2])*s[3] + (10*s[6] + s[7]) == (10*s[8] + s[9])) {
c <- (10*s[1] + s[2])*s[3]
f <- c %% 10
if (f != s[1] & f != s[2] & (c - f)/10 != s[1] & (c - f)/10 != s[2]) {
print(s)
}
}else{
s <- sample(1:9, replace = FALSE)
}
}
Вот ссылка на проблему, которую я пытался решить.
Вот правильный ответ на проблему, которую мой R l oop не может решить.
Если я выбрал s в качестве правильного ответа, я понял его правильно, что означает, что нет проблема с оператором if.
s <- c(1,7,4,6,8,2,5,9,3)
if ((10*s[1] + s[2])*s[3] + (10*s[6] + s[7]) == (10*s[8] + s[9])) {
c <- (10*s[1] + s[2])*s[3]
f <- c %% 10
if (f != s[1] & f != s[2] & (c - f)/10 != s[1] & (c - f)/10 != s[2]) {
print(s)
}
}else{
s <- sample(1:9)
}
Вот вывод с правильным ответом.