This program solves a math problem that is given to elementary school students in public schools in Ontario. It's also used in the Spirit of Math program. I observe it's also mentioned in Math Forum year games so it's not just an Ontario thing.

Given four single digits, generate expressions that evaluate to the numbers from 1 to 100, using each of those four digits once only. In some variations, the order of the digits may not change.

It is permitted to concatenate digits, thus if the digits are 1, 2, 3, and 4, expressions such as 12 + 34 as allowed.

You can find the program on github