Correct answer is 840.
A village $v$ is visited by salesman $s$ if $v$ is a multiple of $s$.
So a village which is visited by maximum number of salesman has largest number of multiples (between 1 and 1000).
We can find the required village by finding L.C.M. of first few numbers until it crosses 1000. We will stop when L.C.M. goes beyond 1000. So required village will be largest L.C.M (or its multiple) of first few numbers which is just smaller than 1000.
L.C.M. of 1 is 1.
L.C.M. of 1,2 is 2.
L.C.M. of 1,2,3 is 6.
L.C.M. of 1,2,3,4 is 24.
L.C.M. of 1,2,3,4,5 is 120.
L.C.M. of 1,2,3,4,5,6 is 120.
L.C.M. of 1,2,3,4,5,6,7 is 840.
L.C.M. of 1,2,3,4,5,6,7,8 is 840.
We can't go beyond 840 because L.C.M. of 1,2,3,4,5,6,7,8,9 is 2520 which is beyond 1000.
So correct answer is 840. Here is the code to verify :
http://ideone.com/nzaAzI