From 86aaed2bd74c57c1f0e79e4a5438406a2c84eba6 Mon Sep 17 00:00:00 2001 From: rlbr Date: Fri, 28 Sep 2018 12:25:26 -0500 Subject: [PATCH] Added files --- multbase.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 multbase.py diff --git a/multbase.py b/multbase.py new file mode 100644 index 0000000..5883665 --- /dev/null +++ b/multbase.py @@ -0,0 +1,24 @@ +from functools import reduce +from operator import mul +def _base(n,b): + out =[] + while n: + out.append(n%b) + n //= b + return out + +def _multbase(n,bases): + out = [] + if functools.reduce(mul,bases) < n: + raise ValueError("Not enough bases/not big enough") + for base in reversed(bases): + out.append(n%bases) + n //= base + if not n: + return out + +def base(n,base_arg): + try: + return _multbase(n,base_arg + except ValueError: + return _base(n,base_arg) \ No newline at end of file