Since there was just a golf for factorials, I figured that doing one for the number of ways to select M objects from a set of N objects without repetition might be appropriate.

Basically, if I have a set of 4 cards, how many ways can I select a hand of 1 card from the set without repeating myself? The answer is obviously 4. Now if I have a hand size of 2 how many ways are there? The answer is 6, but it is less obvious.

The general solution is defined by the function:

Choose(M, N) = M!
----------------
N! * (M - N)!

Where M is the size of the set and N is the number of cards to select. And M! is the factorial of M. See

Golf: Factorials for more info.

The following are test cases that you can use:

M N Answer Notes
52 5 2598960 Number of 5 card hands in a deck of 52 cards
52 7 133784560 Number of 7 card hands in a deck of 52 cards
52 13 635013559600 Number of 7 card hands in a deck of 52 cards
52 52 1 Number of ways to select a hand size of 1 from a 52 card deck

The interface for the resulting code should be:

print c($m, $n);

If you want to define a factorial subroutine that should be included in the size of the code.

-ben

Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags :
a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
For:
Use:
& &
< <
> >
[ [
] ]

Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
Log In ^{?}

remember me
What's my password?
Create A New User
Chatterbox ^{?}

and the web crawler heard nothing...
How do I use this? | Other CB clients
Other Users ^{?}
Others chilling in the Monastery: (13)As of 2015-07-28 09:16 GMT
Sections ^{?}
Information ^{?}
Find Nodes ^{?}
Leftovers ^{?}
Voting Booth ^{?}
The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...

Priority 1, Priority 2, Priority 3
Priority 1, Priority 0, Priority -1
Urgent, important, favour
Data loss, bug, enhancement
Out of scope, out of budget, out of line
Family, friends, work
Impossible, inconceivable, implemented
Other priorities

Results (254 votes) ,
past polls