Answer to Question #28486 in Python for Daniel

Question #28486
How to write a program that counts rearrangements of a word in Python using recursion?

Description: The letters of the word "bookkeeper" can be rearranged in 151,200
ways. Of course this is far too many to write them all down. However, there are
formulas that allow us to count such things.
The number of ways to rearrange n objects in a line is given by the formula
n! = n(n −1)(n −2) ⋯ (2) 1
If m of the objects are indistinguishable, then for each distinct arrangement, there will be
exactly m! indistinguishable rearrangements, so the total number is n!/m! In our problem,
there are 10 letters (b, o, o, k, k, e, e, p, e, r), including 2 o's, 2, k's, and 3 e's. So the total
number of rearrangements is
10! / 2!2!3! = (10 ⋅ 9 ⋅ 8 ⋅ 7 ⋅ 6 ⋅ 5 ⋅ 4 ⋅ 3 ⋅ 2 ⋅ 1) / (2 ⋅ 1)(2 ⋅ 1)(3 ⋅ 2 ⋅ 1) = 151,200

In this program, I need to write a recursive function to compute factorials, and
use the function to count the number of rearrangements of the letters of words.
I need two functions.
0
Expert's answer

Answer in progress...

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
APPROVED BY CLIENTS