maths.reverse_factorial_recursive ================================= .. py:module:: maths.reverse_factorial_recursive Functions --------- .. autoapisummary:: maths.reverse_factorial_recursive.reverse_factorial_recursive Module Contents --------------- .. py:function:: reverse_factorial_recursive(value: int, current_divisor: int = 1) -> int Return x such that x! == value, otherwise return -1. The function divides `value` by 1, 2, 3, ... recursively. If the repeated division reduces `value` exactly to 1, the factorial root x is (current_divisor - 1). If the division ever has a remainder, no integer x exists and the function returns -1. Parameters ---------- value: The positive integer to test (candidate factorial value). current_divisor: The current divisor used while reducing `value` (default is 1). Returns ------- The factorial root (x) if x! == value, otherwise -1. Examples -------- >>> reverse_factorial_recursive(120) 5 >>> reverse_factorial_recursive(24) 4 >>> reverse_factorial_recursive(150) -1 >>> reverse_factorial_recursive(1) 1 >>> reverse_factorial_recursive(2) 2