Предмет: Информатика, автор: antohio05

Python. Пожалуйста, сделайте за курс 10 класса!!! Мудрённые для десятиклассника элементы Python не используйте, пожалуйста.
————————————————————————
Определить сколько существует «счастливых» автобусных билетов в одной серии с номерами от 000000 до 999999. «Счастливым» считается билет, сумма первых трех цифр которого равна сумме вторых трех цифр.​

Ответы

Автор ответа: nikdissv
1

happy_nums = 0

for i in range(1000000):  # от 100000 до 1000000 не включительно.

   n2 = i % 1000  # Вторые три цифры

   n1 = i // 1000  # Первые три цифры

   

   sum2 = 0

   while n2:

       sum2 += n2 % 10

       n2 //= 10

   sum1 = 0

   while n1:

       sum1 += n1 % 10

       n1 //= 10

   if sum1 == sum2: happy_nums += 1

print(happy_nums)  # 50412


nikdissv: Не, это у тебя в коменте опечатка, там стоит range(сто тысяч, миллион).
antohio05: а зачем после "for" "_" ставить?
nikdissv: не зачем, так принято, если переменная не используется, называть ее "_"
antohio05: ввожу программу, а она не работает ‍♂️
Ziorar: Раз уж вернулся, заодно можно поправить- по задаче диапазон всё таки от нуля надо начинать, а не от ста тысяч.
antohio05: я о том же
Ziorar: И тогда получим 55252 счастливых билетов
nikdissv: Исправил.
antohio05: я уже написал
antohio05: c = 0
for x in range(0, 1000000):
x1 = x % 10
x2 = (x % 100) // 10
x3 = (x % 1000) // 100
x4 = (x % 10000) // 1000
x5 = (x % 100000) // 10000
x6 = x // 100000
if (x1+x2+x3) == (x4+x5+x6):
c +=1

print(c)
Похожие вопросы
Предмет: Геометрия, автор: dasha6566670cc
Предмет: Химия, автор: sassorerro