In conventional community detecting algorithms, the community number is always a bypass product and cannot be estimated before partitioning. Since partitioning large scale and dynamic complex networks takes exhausting computation, the community number sometimes can be a terminal condition of iterations or a preset optimal parameter for speeding up partitioning algorithms. This paper assumes that communities are organized around the center of core nodes in a scale-free network. A separability function is built to dichotomize nodes into two classes and the class of large degree nodes is selected as the core node candidate set. An improved shortest path seeking algorithm is applied to remove the closest neighbors of a specific core node. The number of remaining core nodes is then the estimated number of communities. Experiments of real world scale-free networks and computer generated networks show that the results are very close to the well-proven results.