weighted Hamiltonian cycle exactly according to its weight from the set of Hamiltonian cycles of a weighted digraph. In addition, this perfect sampling is only by-product when acceptance/rejection is used to approximate counting, which means the time used to sample a random Hamiltonian cycle can be used to approximate the number of the Hamiltonian cycles without extra cost. The main result of this paper is summarized in the following.\
\
**Theorem M.** *For any $\varepsilon$, $\delta$ $\in$ $(0,1]$ and $\alpha\in (.75,1]$, there exists a randomized approximation algorithm which provides an FPRAS for computing the number of Hamiltonian cycles of $\alpha n$ dense digraphs. The same algorithm approximates the number of Hamiltonian cycles by a factor in $[1 - \varepsilon$, $1 + \varepsilon]$ with probability at least $1 - \delta$ and has the complexity $O(n^{2.5+.5/(2\alpha-1)+1/{(2\alpha-1.5)}}\varepsilon^{-2}\log(\delta^{-1}))$. In particular, when $\alpha\geq .85$, the running time is bounded by $O(n^{8.5})$.*\
The remainder of the paper is structured as follows. In Section 2 some basic definitions, notations and lemmas are presented. In Section 3 we describe the algorithm in details. Section 4 contributes to the complexity of the algorithm and the hardness of counting. Further discussion and conclusion are proposed in Section 5.\
\
****

