On 4/7/2015 1:44 PM, Ian Kelly wrote:

def to_base(number, base):
...     digits = []
...     while number > 0:
...         digits.append(number % base)
...         number //= base
...     return digits or [0]
...
to_base(2932903594368438384328325832983294832483258958495845849584958458435439543858588435856958650865490,
 429496729)
[27626525, 286159541, 134919277, 305018215, 329341598, 48181777,
79384857, 112868646, 221068759, 70871527, 416507001, 31]
About 15 microseconds.

% and probably // call divmod internally and toss one of the results. Slightly faster (5.7 versus 6.1 microseconds on my machine) is

def to_base_dm(number, base):
    digits = []
    while number > 0:
        number, rem = divmod(number, base)
        digits.append(rem)
    return digits or [0]

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to