diff options
| -rw-r--r-- | challenge-042/wanderdoc/R/ch-1.R | 5 | ||||
| -rw-r--r-- | challenge-042/wanderdoc/R/ch-2.R | 55 |
2 files changed, 60 insertions, 0 deletions
diff --git a/challenge-042/wanderdoc/R/ch-1.R b/challenge-042/wanderdoc/R/ch-1.R new file mode 100644 index 0000000000..dac7cf1186 --- /dev/null +++ b/challenge-042/wanderdoc/R/ch-1.R @@ -0,0 +1,5 @@ +for(i in 1:50) +{ + print(paste(paste("Decimal", i), "=", paste("Octal", as.octmode(i)))) + +}
\ No newline at end of file diff --git a/challenge-042/wanderdoc/R/ch-2.R b/challenge-042/wanderdoc/R/ch-2.R new file mode 100644 index 0000000000..ceb4b6c8a8 --- /dev/null +++ b/challenge-042/wanderdoc/R/ch-2.R @@ -0,0 +1,55 @@ +ml <- sample(seq(6,20,2), 20, replace=TRUE) +v.base <- c("(", ")") +fair <- 1 + +simple_brackets <- function(x) +{ + v.s <- sample(v.base, x, TRUE) + return(v.s) +} + + + + + +fair_brackets <- function(x) +{ + v.f <- character(x) + v.base <- c("(", ")") + ob <- ifelse(v.base=="(",0.75,0.25) + cb <- ifelse(v.base==")",0.75,0.25) + v.f[1] = "(" + for(i in 2:(x-1)) + { + if(v.f[i-1] == "(") v.f[i] <- sample(v.base, 1, TRUE, prob = cb) + if(v.f[i-1] == ")") v.f[i] <- sample(v.base, 1, TRUE, prob = ob) + + } + v.f[x] <- ")" + return(v.f) +} + + + +for (lenstr in ml) +{ + v.chr <- character(lenstr) + if(fair == 1) v.chr <- fair_brackets(lenstr) + else v.chr <- simple_brackets(lenstr) + + + counter<-0 + + + + for(ch in v.chr) + { + if(ch == ")" ) counter <- counter - 1; + if (counter < 0) break; + + if(ch == "(" ) counter <- counter + 1; + } + ok <- ifelse(counter == 0,'OK', 'NOT OK') + + print(paste(paste0(v.chr, collapse=""), ok)) +} |
