A vampire number is a non-negative number that can be factored into two numbers (fangs) each with half as many digits as the original where the two factors contain all the digits of the original, in any order. Both fangs may not have trailing zeros.
For example 1260 = 21*60, 1395 = 15*93, 1435 = 35*41, 1530 = 30*51, etc..
Print all the vampire numbers from 1 to 1,000,000 inclusive, each on their own line.
Be careful with the algorithmic complexity of your solution to avoid timing out.