# 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 '''
if not 2 <= to_base <= 16:
raise ValueError('2 <= to_base <= 16')
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): ']]
print('{} (10) = {} ({})'.format(n, base(n, b), b))
1. Записать числа встолбик, так чтобы цифры самого младшего разряда чисел (единицы) расположились одна под другой (на одной вертикали).
2. Вычесть цифры младшего разряда. Примечание - если вычитаемое больше уменьшаемого, то следует занять единицу из старшего разряда и после этого вычесть.
3. Записать результат под горизонтальной чертой на вертикали единиц.
4. Повторить пункты 2 и 3 для всех разрядов с учетом переносов из старших разрядов.
В двоичную:
556:2=278 ост.0
278:2=139 ост.0
139:2=69 ост.1
69:2=34 ост.1
34:2=17 ост.0
17:2=8 ост.1
8:2=4 ост.0
4:2=2 ост.0
2:2=1 ост.0
1:2=0 ост.1
Остатки записываем в обратном порядке (снизу вверх): 1000101100
в восьмеричную:
556:8=69 ост.4
69:8=8 ост.5
8:8=1 ост.0
1:8=0 ост.1
Остатки записываем в обратном порядке (снизу вверх): 1054
в шестнадцатеричную:
556:16=34 ост.12 (С)
34:16=2 ост.2
2:16=0 ост.2
Остатки записываем в обратном порядке (снизу вверх): 22С
Uses system;
var time:DateTime;
s,h,m,k:real;
begin;
readln(h);
readln(m);
readln(s);
time:=time.AddSeconds(s);
time:=time.AddMinutes(m);
time:=time.AddHours(h);
readln(k);
time:=time.AddSeconds(k);
writeln(time.Hour,':',time.Minute,':',time.Second);
<span>end.</span>