Each book can be given to two people, so there are $2^n$ ways of handing out the books. There is only one way that John can get no books and only one way that John can get no books, so there are $2^n-2$ ways that they can each get at least one book.
Your approach picks a book to give to John first (the factor $n$), then a book to give to Jack (the factor $n-1$), then hands out the rest. Note that for $n \gt 2$ your probability is greater than $1$, so it cannot be right. The problem is that you are overcounting. If John gets just two books, you count the configuration twice, once for each book being the first one.