Python: подсчитать количество операций переноса для каждой из задач сложения
Python Basic - 1: упражнение 31 с решением
Напишите программу на Python для подсчета количества операций переноса для каждой из задач сложения.
Согласно Википедии "В элементарной арифметике перенос - это цифра, которая переносится из одного столбца цифр в другой столбец более значащих цифр. Это часть стандартного алгоритма сложения чисел, начиная с крайних правых цифр и обработки до Например, когда 6 и 7 добавляются для создания 13, «3» записывается в тот же столбец, а «1» переносится влево ».
Иллюстрированная презентация:
Пример решения :
Код Python:
def carry_number(x, y):
ctr = 0
if(x == 0 and y == 0):
return 0
z = 0
for i in reversed(range(10)):
z = x%10 + y%10 + z
if z > 9:
z = 1
else:
z = 0
ctr += z
x //= 10
y //= 10
if ctr == 0:
return "No carry operation."
elif ctr == 1:
return ctr
else:
return ctr
print(carry_number(786, 457))
print(carry_number(5, 6))
Пример вывода:
3 1
Блок - схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python, чтобы поменять цифры заданного числа и добавить ее к оригиналу. Если сумма не является палиндромом, повторите эту процедуру.
Далее: Напишите программу на Python, чтобы найти высоту трех верхних зданий в порядке убывания от восьми заданных зданий.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования