Поляков пишет:
цитата: |
Эта задача для решения с помощью программы |
|
(№ 4413) (П. Волгин) Значение выражения (5300 • 15100) – (2550 + 125100) записали в системе счисления с основанием 5. Запишите в ответ сумму всех цифр пятеричной записи числа, исключая четверки.
П. Волгин предложил решение:
x = (5**300 * 15**100) - (25**50 + 125**100)
sum = 0
c = 0
while (x != 0):
c = x % 5
if c == 4: c = 0
sum = sum + c
x = x // 5
print("Сумма цифр числа равна: ", sum)
Здесь, во первых, печать ответа не совсем корректна, поскольку "Сумма цифр числа:" будет равна 1339, а не 83, как печатает программа,
тогда уж надо было указать "Сумма цифр числа, исключая четверки:".
Во вторых, непонятно, для чего он вводит переменную
c. а затем
дважды ее обнуляет и, для чего делается проверка
while (x != 0):, если питон это делает по умолчанию -
while x: Критикуя автора, предлагаю свое решение:
x=(5**300*15**100)-(25**50+125**100)
s = 0
while x:
if x % 5 != 4:
s = s+x%5
x = x//5
print(s)