27 (С4). Пример с решением

{* Задание 27 № 6202. По каналу связи передаются данные в виде последовательности положительных целых чисел. Количество чисел заранее неизвестно, но не менее двух, признаком конца данных считается число 0. После данных передаётся контрольное значение.
Оно равно такому максимально возможному произведению двух чисел из переданного набора, которое делится на 7, но не делится на 49. Если такое произведение получить нельзя, контрольное значение считается равным 1. Напишите эффективную, в том числе по памяти, программу, которая будет моделировать процесс приёма данных. Программа должна ввести
все числа и контрольное значение и напечатать краткий отчёт, включающий количество принятых чисел, принятое контрольное значение, вычисленное контрольное значение и вывод о совпадении значений.
Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию.
Описание входных данных.
В каждой строке исходных данных содержится одно целое число. Сначала идут строки
с основными данными — положительными числами, затем число 0 (признак окончания данных),
в последней строке — контрольное значение.
Программа должна вывести отчёт по форме, приведённой ниже в примере.
Пример входных данных:
6
7
8
9
0
64
Пример выходных данных для приведённого выше примера входных данных:
Введено чисел: 4
Контрольное значение: 64
Вычисленное значение: 63
Значения не совпали
Источник: МИОО: Тренировочная работа по информатике 08.10.2013 вариант ИНФ10101.*}
// Решение на языке PascalABC.NET
program EGE27_6202;
var
x,N,max1,max7,R,Checksum:longint;
begin
max1 := 0; max7 := 0; N := 0;
writeln(Введите числа: );
readln(x);
while x <> 0 do begin
if (x mod 7 = 0) and (x mod 49 <> 0) and (x > max7) then max7 := x;
if (x mod 7 <> 0) and (x > max1) then max1 := x;
N := N + 1;
readln(x);
end;
writeln(Введено чисел: , N);
R := max1 * max7;
if R = 0 then R := 1;
write(Введите контрольное значение: );
readln(Checksum);
if R = Checksum then
writeln(Значения совпали!)
else
writeln(Значения не совпали!);
end.
Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Блог на WordPress.com. Тема: Baskerville 2, автор: Anders Noren.

Вверх ↑

%d такие блоггеры, как: