Дано число х в 10 системе счисления,перевести его в систему счисления в основанием n(n...

0 голосов
20 просмотров

Дано число х в 10 системе счисления,перевести его в систему счисления в основанием n(n вводим сами)


Информатика (174 баллов) | 20 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

# Python 3.X

sym = {10: 'A', 11: 'B', 12: 'C', 13: 'D', 14: 'E', 15: 'F'}

def exp_in(n, g):
    ret = 1
    while n ** ret < g:
        ret += 1
    return ret - 1
    

def base(n, to_base):
    ''' 2 <= to_base <= 16 '''<br>    if not 2 <= to_base <= 16:<br>        raise ValueError('2 <= to_base <= 16')<br>    ret = ''
    for e in range(exp_in(to_base, n), -1, -1):
        t = to_base ** e
        c = n // t
        ret += sym.get(c, str(c))
        n %= t
    return ret

n, b = [int(input(x)) for x in ['Число: ', 'Степень (2 <= n <= 16): ']]<br>print('{} (10) = {} ({})'.format(n, base(n, b), b))

(7.2k баллов)