Перейти к содержанию

Программа должна вычислять поразрядные суммы цифр этих чисел и вывести на экран наибольшую из полученных сумм

Требовалось написать программу, при выполнении которой с клавиатуры считываются два натуральных числа N и M одинаковой размерности, не превосходящие $10^9$. Программа должна вычислять поразрядные суммы цифр этих чисел и вывести на экран наибольшую из полученных сумм. Например, для чисел N = 5296, M = 5471 поразрядные суммы равны 7, 16, 6 и 10. Программа должна вывести 16. Программист написал программу неправильно.

Последовательно выполните следующее:

1. Напишите, что выведет программа при вводе чисел 1456 и 2564.

2.Приведите пример двух таких чисел, для которых, несмотря на ошибки, программа напечатает правильный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько).

Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.

Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку,— приведите правильный вариант строки.

Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание, что требуется найти ошибки в данной программе, а не написать свою, возможно, использующую другой алгоритм решения. Исправление ошибки должно затрагивать только строку, в которой находится ошибка.


1. При вводе чисел 1456 и 2564 программа выведет число 10.

2. Пример входных чисел, для которых программа работает правильно: 1234 и 1111.

3. Программа содержит две строки с ошибками (Паскаль):

1) Строку

while (N > 10) do begin

следует заменить на

while (N > 0) do begin

2) Строку

if MaxS < M % 10 + N % 10

следует заменить на

if MaxS < S