Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3487882
А
Аноним
30 октября 2025 23:19 · публичный вопрос
А
Аноним

1=0 #Присвоить переменной k1 (количество цифр 3 в записи числа) значение 0. k2=0 #Присвоить переменной k2 (количество других цифр в записи числа) значение 0. a=int(input())…

Запрос пользователя

1=0 #Присвоить переменной k1 (количество цифр 3 в записи числа) значение 0. k2=0 #Присвоить переменной k2 (количество других цифр в записи числа) значение 0. a=int(input()) #Ввести с клавиатуры число в переменную a. while a!=0: #Цикл будет выполняться до тех пор, пока переменная а не станет равна 0. b=a%10 #Проверить цифру в младшем разряде в записи числа. if b==3: #Проверить выполнение условия: если значение цифры в младшем разряде равно 3, #то увеличить значение переменной k1 на 1. else: #иначе k2=k2+1 #увеличить значение переменной k2 на 1. a=a//10 #Убрать из записи числа младший разряд и вернуться к началу работы цикла. print(k1,k2) #Вывести на экран количество цифр 3 в записи введённого числа и количество других цифр в его записи.

Ответ нейросети
30 октября 2025 23:19

Коротко о задаче

  • Нужно подсчитать, сколько цифр числа равны 3 (k1), и сколько цифр не равны 3 (k2).
  • Пройдёмся по цифрам числа слева направо через деление на 10 в цикле.

Что исправлено и почему

  • В исходном коде внутри if b == 3 не было увеличения k1 (нет k1 = k1 + 1). Нужно увеличивать k1, если цифра равна 3.
  • Хорошо бы работать с отрицательными числами и корректно считать для числа 0.
    • Чтобы корректно обрабатывать отрицательные числа, берём abs(a).
    • Чтобы корректно учитывать число 0 (в записи одной цифрой '0'), можно специально обработать этот случай.

Ниже приводится устойчивый вариант решения.

Код (устойчивый к отрицательным числам и к числу 0) a = int(input()) k1 = 0 # количество цифр 3 k2 = 0 # количество других цифр a = abs(a)

if a == 0: # число 0 имеет одну цифру '0', которая не равна 3 k2 = 1 else: while a != 0: b = a % 10 # последняя цифра if b == 3: k1 += 1 else: k2 += 1 a //= 10

print(k1, k2)

Пояснение по шагам

  • Считываем число a.
  • Инициализируем счётчики k1 и k2.
  • Берём абсолютное значение a, чтобы правильно работать с отрицательными числами.
  • Если исходное число было 0, мы устанавливаем k2 = 1 (одна цифра, равная 0).
  • Иначе, пока остаются цифры (a != 0):
    • извлекаем последнюю цифру b = a % 10;
    • если b равна 3, увеличиваем k1;
    • иначе увеличиваем k2;
    • удаляем последнюю цифру a за счёт a //= 10.
  • В конце выводим k1 и k2.

Пример

  • Ввод: 30345
    • цифры: 3, 0, 3, 4, 5 → k1 = 2, k2 = 3
    • вывод: 2 3

Дополнение (пояснение альтернативы)

  • Можно реализовать аналогичную задачу через строковую обработку: считать количество символов '3' в строке и вычесть из общего количества цифр, но при этом потребуются дополнительные проверки на знак и нулевой ввод. В числовом варианте этот цикл по разрядам более наглядный для школьной практики.