Goal:

Generate all possible sums and subtractions for kids of the form

10 - 4 = ?

4 + 3 = ?

Constraints:

- Only numbers between 0-10

- Result should be >= 0

Solution:

generate_sums <- function(maxresult=10) { sums <- c() for (i in 0:(maxresult-1)) { for (j in 0:(maxresult-i)) { sums <- c(sums, paste0(i, ' + ', j, ' = ?')) } } sample(sums[!duplicated(sums)]) } generate_subtractions <- function(maxresult=10) { substractions <- c() for (i in 0:maxresult) { for (j in i:maxresult) { substractions <- c(substractions, paste0(j, ' - ', i, ' = ?')) } } sample(substractions[!duplicated(substractions)]) }

I still believe that a more elegant approach should be possible but at least it works.