По каналу связи передается последовательность положительных чисел ,все числа не превышают 1000,их количество заранее неизвестно. Каждое число передается отдельно. Признаком конца передаваемой последовательности является число 0...
По каналу связи передается последовательность положительных чисел ,все числа не превышают 1000,их количество заранее неизвестно. Каждое число передается отдельно. Признаком конца передаваемой последовательности является число 0. После числа 0 передается контрольное значение- наибольшее число из последовательности,которое делится на 10. Напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. Программа должна напечатать отчет следующего вида:
Получено ...чисел
Полученное контрольное значение:...
Вычесленное контрольное значение:...
Контроль пройден (или- контроль не пройден)
Ответ(ы) на вопрос:
Гость
// PascalABC.NET 3.1, сборка 1201 от 18.03.2016
begin
var k:=0;
var n:=ReadInteger();
var nmax:=0;
while n<>0 do begin
Inc(k);
if n mod 10 = 0 then
if n>nmax then nmax:=n;
n:=ReadInteger()
end;
var cntrl:=ReadInteger();
Writeln('Получено ',k,' чисел');
Writeln('Полученное контрольное значение: ',cntrl);
Writeln('Вычисленное контрольное значение: ',nmax);
if cntrl=nmax then Writeln('Контроль пройден')
else Writeln('Контроль не пройден')
end.
Тестовое решение:
53
16
40
9
10
32
74
0
40
Получено 7 чисел
Полученное контрольное значение: 40
Вычисленное контрольное значение: 40
Контроль пройден
Не нашли ответ?
Похожие вопросы