if (!require(gtools)) {
install.packages("gtools")
require(gtools)
}
OrderMaxMinDiff <- function(n)
{
p <- apply(permutations(n - 2, n - 2), 1, function(v) c(0, v, n - 1))
MinDiff
<- apply
(t
(abs(diff
((p
)))), 1, min
) MaxMinDiff <- max(MinDiff)
i <- which(MinDiff == MaxMinDiff)
apply(t(p[, i]), 1, function(v) cat(v, sep = ", ", fill = TRUE))
cat
(sprintf("最小隣接差が最大値%dになる並べ方は以上の%d通りです。\n", MaxMinDiff
, length
(i
)))}
OrderMaxMinDiff(10)
aWYgKCFyZXF1aXJlKGd0b29scykpIHsKICAgIGluc3RhbGwucGFja2FnZXMoImd0b29scyIpCiAgICByZXF1aXJlKGd0b29scykKfQoKT3JkZXJNYXhNaW5EaWZmIDwtIGZ1bmN0aW9uKG4pCnsKICAgIHAgPC0gYXBwbHkocGVybXV0YXRpb25zKG4gLSAyLCBuIC0gMiksIDEsIGZ1bmN0aW9uKHYpIGMoMCwgdiwgbiAtIDEpKQogICAgTWluRGlmZiA8LSBhcHBseSh0KGFicyhkaWZmKChwKSkpKSwgMSwgbWluKQogICAgTWF4TWluRGlmZiA8LSBtYXgoTWluRGlmZikKICAgIGkgPC0gd2hpY2goTWluRGlmZiA9PSBNYXhNaW5EaWZmKQogICAgYXBwbHkodChwWywgaV0pLCAxLCBmdW5jdGlvbih2KSBjYXQodiwgc2VwID0gIiwgIiwgZmlsbCA9IFRSVUUpKQogICAgY2F0KHNwcmludGYoIuacgOWwj+mao+aOpeW3ruOBjOacgOWkp+WApCVk44Gr44Gq44KL5Lim44G55pa544Gv5Lul5LiK44GuJWTpgJrjgorjgafjgZnjgIJcbiIsIE1heE1pbkRpZmYsIGxlbmd0aChpKSkpCn0KCk9yZGVyTWF4TWluRGlmZigxMCk=
0, 4, 8, 3, 7, 2, 6, 1, 5, 9
0, 5, 1, 6, 2, 7, 3, 8, 4, 9
最小隣接差が最大値4になる並べ方は以上の2通りです。
Loading required package: gtools