To get a result of X heads in a sequence of N tosses, several things have to happen. If the probability of a head on a single trial is p and the probability of a tail is q (1-p), then X heads and N-X tails has a probability calculated by multiplying X p's times N-X q's or (p^X q^(N-X)). However, there are many sequences which match this description. By the methods of CombinaTorics, we can find that there are N!/X!/(N-X)! different combinations with X heads and N-X tails. So, the probability of X heads is
N!/X!/(N-X)! p^X q^(N-X)