Жауабы: Исправление программы подсчёта цифр
1) При вводе 324 программа выведет 3. 2) Например, N = 22. 3) В Python нужно заменить `if d != 2:` на `if d == 2:` и `print(d)` на `print(R)`.
У этого задания официального ключа нет, поэтому ответ получен в разборе және кілтпен салыстырылмаған. Нәтижені жаттамас бұрын, өтіңіз выкладки — там видно, откуда взялось каждое число.
Требовалось написать программу, которая получает на вход натуральное число $N$, не превосходящее $10^9$, и выводит число, равное количеству цифр 2 в десятичной записи числа $N$. Программист написал программу неправильно. Ниже приведена программа на нескольких языках программирования.
Последовательно выполните следующие действия:
1. Определите, что выведет программа при вводе числа 324.
2. Приведите пример входного числа $N$, при котором программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их. Исправление каждой ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки выпишите строку, в которой она сделана, и приведите правильный вариант строки. Известно, что в тексте программы нужно исправить не более двух строк, чтобы она стала работать правильно. Достаточно указать ошибки и способ их исправления для одного языка программирования. Требуется найти ошибки в имеющейся программе, а не написать другую программу, использующую иной алгоритм решения.
Программа на языке Python:
N = int(input())
R = 0
while N > 0:
d = N % 10
if d != 2:
R = R + 1
N = N // 10
print(d)
Где здесь ошибаются
Указать ответ 2 для числа 324, посчитав цифры 2 вместо фактического вывода ошибочной программы.
Исправить условие на d != 2, хотя оно считает цифры, отличные от 2.
Заменить print(d) на print(R), но не исправить условие.
Предложить новую программу вместо исправления только ошибочных строк.