a = int(input())
b = ` `
while a > 0:
b = str(a % 2) + b
a = a // 2
print(b)
k = int(input())
c = ''
while k > 0:
c = str(k % 2) + c
k = k // 2
print(c)
if b % c == 0:
print("%d делится на %d" % (b, c))
else:
print("%d не делится на %d" % (b, c))
print("Остаток: %d" % (b % c))
print("Частное: %d" % (b // c))
Asked
Active
Viewed 562 times
0
Qwertiy
- 123,725
Lucy Collins
- 19
1 Answers
1
Число либо делится, либо не делится - от системы счисления это не зависит.
Насколько я вижу, код в вопросе почти верный, но
if b % c == 0: print("%d делится на %d" % (b, c)) else: print("%d не делится на %d" % (b, c)) print("Остаток: %d" % (b % c)) print("Частное: %d" % (b // c))
здесь для арифметических операций надо использовать a и k вместо b и c.
И ещё несколькими оговорок:
- число вводится в десятичной системе счисления, а выводится в двоичной - не уверен, что надо именно так, возможно надо наоборот при вводе из двоичной переводить в число.
- перевод стоило бы вынести в отдельную функцию, чтобы не копипастить. К тому же, есть вероятность, что он сделан неэффективно из-за добавления в начало строки.
Qwertiy
- 123,725
число-->числа? Сам менять не буду, т.к. уже дан ответ на вопрос в его текущем виде... – MaxU - stand with Ukraine Feb 18 '19 at 16:12