Skip to content

Instantly share code, notes, and snippets.

@ChristopherBilg
Created March 13, 2018 14:31
Show Gist options
  • Save ChristopherBilg/6b1a7c1a584665a7987214095deb4dcd to your computer and use it in GitHub Desktop.
Save ChristopherBilg/6b1a7c1a584665a7987214095deb4dcd to your computer and use it in GitHub Desktop.
r/DailyProgrammer Reverse Factorial
120
150
3628800
479001600
6
18
#!usr/bin/env python3
"""
This script is the r/DailyProgrammer Easy Challenge #286 titled
Reverse Factorial.
Author: Christopher Bilger
"""
def reverse_factorial(number):
"""
Function that will take in a number and return the factorial, if any.
@param int: number to be converted to factorial
@return factorial (integer) or None
"""
counter = 1
rev_number = number
while True:
rev_number = rev_number / counter
if (rev_number).is_integer():
if rev_number == 1:
break
else:
counter += 1
else:
counter = None
break
return counter
def main():
"""
Main function that will run the reverse factorial code.
"""
numbers = []
with open("numbers.txt", "r") as all_numbers:
for number in all_numbers.readlines():
numbers.append(int(number))
for number in numbers:
if reverse_factorial(number) is None:
print(str(number) + " NONE")
else:
print(str(number) + " = " + str(reverse_factorial(number)) + "!")
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment