Since 5 is a prime number, the only way a number can have exactly five factors is if it is the fourth power of a prime number, in which case the factors will be 1, p, p^2, p^3 and p^4.
Therefore, to answer the question we need to find out how many prime numbers lie between the fourth root of 10^4 and the fourth root of 10^6. The fourth root of 10^4 is clearly 10. The fourth root of 10^6 is 10^(6/4) which is 10^(3/2) or 10 x 10^(1/2), in other words 10 x the square root of 10. The square root of 10 is given in the question as about 3.16, so therefore the fourth root of 10^6 is about 31.6.
So the answer we seek is the number of prime numbers between 10 and 31.6, which is straightforward enough to simply count: 11, 13, 17, 19, 23, 29, 31 which gives the answer of 7.