ithPermutation <- function(n, i) { i <- i - 1 r <- rev(sapply(1:n, function(x) {j <- i %% x; i <<- i %/% x; j + 1})) a <- 1:n sapply(r, function(x) {y <- a[x]; a <<- a[-x]; y}) } for (n in c(1, 2, 3, 123456, 234567, 362880)) { }
Standard input is empty
入力: 1 出力: [1, 2, 3, 4, 5, 6, 7, 8, 9] 入力: 2 出力: [1, 2, 3, 4, 5, 6, 7, 9, 8] 入力: 3 出力: [1, 2, 3, 4, 5, 6, 8, 7, 9] 入力: 123456 出力: [4, 1, 6, 5, 8, 9, 7, 3, 2] 入力: 234567 出力: [6, 8, 4, 7, 5, 3, 2, 1, 9] 入力: 362880 出力: [9, 8, 7, 6, 5, 4, 3, 2, 1]