Перейти к содержимому
EduSave

Задача 378D57

ЕГЭ по информатике · Прочие задания

№ 418из 1 778

На обработку поступает натуральное число, не превышающее 10 9. Нужно написать программу, которая выводит на экран сумму цифр числа,
НЕ кратных 3. Если в числе нет цифр, не кратных 3, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.
Напоминание: 0 делится на любое натуральное число.

БейсикPython
DIM N, DIGIT, SUM AS LONG INPUT N SUM = N MOD 10 WHILE N > 0 DIGIT = N MOD 10 IF DIGIT MOD 3 > 0 THEN SUM = DIGIT END IF N = N \ 10 WEND IF SUM > 0 THEN PRINT SUM ELSE PRINT "NO" END IFN = int(input()) sum = N % 10 while N > 0: digit = N % 10 if digit % 3 > 0: sum = digit N = N // 10 if sum > 0: print(sum) else: print("NO")
Алгоритмический языкПаскаль
алг нач цел N, digit, sum ввод N sum:= mod(N,10) нц пока N > 0 digit:= mod(N,10) если mod(digit, 3) > 0 то sum:= digit все N:= div(N,10) кц если sum > 0 то вывод sum иначе вывод "NO" все конvar N, digit, sum: longint; begin readln(N); sum:= N mod 10; while N > 0 do begin digit:= N mod 10; if digit mod 3 > 0 then sum:= digit; N:= N div 10; end; if sum > 0 then writeln(sum) else writeln('NO') end.

Си
#include int main() { int N, digit, sum; scanf("%d", &N); sum = N % 10; while (N > 0) { digit = N % 10; if (digit % 3 > 0) sum = digit; N = N / 10; } if (sum > 0) printf("%d",sum); else printf("NO"); return 0; }

Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 645.
2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку
и может быть исправлена без изменения других строк. Для каждой ошибки:
1) выпишите строку, в которой сделана ошибка;
2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.
Достаточно указать ошибки и способ их исправления для одного языка программирования.
Обратите внимание, что требуется найти ошибки в имеющейся программе,
а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.

Эталонного ответа в открытом банке нет — при нажатии «Проверить» задачу решит ИИ, а правильность попробует подтвердить официальный проверяющий сервис ФИПИ. Если он временно недоступен, ответ не будет оценён, но можно открыть предварительный разбор ИИ. Занимает до минуты.

Поделиться

* Сервисы Meta Platforms Inc.; деятельность компании признана экстремистской и запрещена на территории РФ.

Источник условия: открытый банк заданий ФИПИ . Доступный разбор подготовлен EduSave; AI-разбор может содержать ошибки и не является официальным решением ФИПИ.

Все задания темы «Прочие задания»