This generates a single-page, vertically-aligned basic math quiz suitable for timed tests. It performs perfect choosing: each possible problem will appear once before any problems are duplicated.
You may choose how many columns and rows will appear in the worksheet, as well as the exact numbers used for the top and bottom operands. Default values have been provided which produce a 100-question multiplication exam using the numbers 1 through 10 for each multiplicand; this means all 100 basic multiplication problems are represented once. (For this purpose, 3 x 1 and 1 x 3 are different, for instance.)
You may specify a list of values for the top, bottom, or both numbers. In this case, the top and bottom lists will be permutated to produce all possible combinations. (For division and subtraction-with-positive-results worksheets, the top list will not be used directly; instead it will be used to create products or sums, providing positive integer results.)
This means you can produce a worksheet using just the 7 and 8 facts by listing them in the top or bottom list. (For division, the bottom will be the divisor; for subtraction with positive results, the bottom will be the smaller value. If you try to use the top list for just 7 or 8 facts, you'll wind up with problems whose answers are all 7 or 8.)
If you specify more problems than you provide values for, the values will be reused, but only after all possible problems have been used once. This ensures that the worksheet difficulty is as consistent as possible, and never results in many trivial problems (multiplication by 1 or 0, for instance).