From 4bc9c7d398bddca1e7ab1072a02b7a22f773cb81 Mon Sep 17 00:00:00 2001 From: Raphael McSinyx Date: Sat, 8 Oct 2016 20:14:23 +0700 Subject: Update /r/dailyprogrammer challenge #286 [Easy] --- daily/286easy/README.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 daily/286easy/README.md (limited to 'daily/286easy/README.md') diff --git a/daily/286easy/README.md b/daily/286easy/README.md new file mode 100644 index 0000000..038e44a --- /dev/null +++ b/daily/286easy/README.md @@ -0,0 +1,48 @@ +# [[2016-10-03] Challenge #286 [Easy] Reverse Factorial](https://www.reddit.com/r/dailyprogrammer/comments/55nior/20161003_challenge_286_easy_reverse_factorial/) + +## Description + +Nearly everyone is familiar with the factorial operator in math. 5! yields 120 +because factorial means "multiply successive terms where each are one less than +the previous": + + 5! -> 5 * 4 * 3 * 2 * 1 -> 120 + +Simple enough. + +Now let's reverse it. Could you write a function that tells us that "120" is +"5!"? + +Hint: The strategy is pretty straightforward, just divide the term by +successively larger terms until you get to "1" as the resultant: + + 120 -> 120/2 -> 60/3 -> 20/4 -> 5/5 -> 1 => 5! + +## Sample Input + +You'll be given a single integer, one per line. Examples: + + 120 + 150 + +## Sample Output + +Your program should report what each number is as a factorial, or "NONE" if +it's not legitimately a factorial. Examples: + + 120 = 5! + 150 NONE + +## Challenge Input + + 3628800 + 479001600 + 6 + 18 + +## Challenge Output + + 3628800 = 10! + 479001600 = 12! + 6 = 3! + 18 NONE -- cgit 1.4.1