ЕГЭ информатика

Курс «Подготовка к ЕГЭ по информатике»
1 сентября 2020, 08:00 - 31 декабря 2020, 00:00, В разработке
Соснина Тамара Петровна

Перебор целых чисел на заданном отрезке. Проверка делимости чисел

Задание ЕГЭ 17. Проверка делимости чисел.

Теоретический материал.

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

Общая структура перебора в Pascal:

( подсчет количества)l:

count := 0;
for n:=a to b do
if <условие выполнено>  then
count := count + 1;
writeln(count);
 
Для проверки условия делимости используется операция mod - остаток от деления;
          x mod n = 0   (число х делится на n без остатка)
          x mod n <>0   (число х  не делится на n без остатка)
 
Пример 1.Количество и максимальное значение.

Рассматривается множество целых чисел, принадлежащих числовому отрезку [4668; 10414], которые делятся на 4 и не делятся на 7, 17. Найдите количество таких чисел и максимальное из них. В ответе запишите два целых числа: сначала количество, затем максимальное число.

Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.

Решение:

Так как нужно найти максимальное число, нам выгоднее перебирать числа в порядке возрастания, тогда последнее найдённое число –

это и есть искомое максимальное подходящее число (если требуется найти наименьшее
подходящее число, удобнее перебирать числа в порядке убывания)

Напишем программу языке программирования Паскаль:

var i, c, max: integer;
begin

c:=0;
max:=0;

for i:=4668 to 10414 do 
begin
  if (i mod 4 = 0) and (i mod 7 <> 0) and (i mod 17 <> 0) then  
  begin
    c := c + 1;
    max:=i;
  end;
end;

Writeln(c);
Writeln(max);

End.

Пример 2. Сумма и минимальное значение

Рассматривается множество целых чисел, принадлежащих числовому отрезку [-2031; 5021], которые делятся на 7, являются нечётными и не делятся на 3. Найдите сумму таких чисел и минимальное из них. В ответе запишите два целых числа: минимальное значение, затем сумму.

Решение:
var i,sum,min:integer;
begin

min:=5022;
sum:=0;

for i:=-2031 to 5021 do 
begin
  if (i mod 7 = 0) and (i mod 2 <> 0) and (i mod 3 <> 0) then  
  begin
    sum := sum + i;
    if i < min then min:=i;
  end;
end;

Writeln(sum);
Writeln(min);

End.

2 способ:

Так как нужно найти минимальное  число, удобно  перебирать числа в порядке убывания, тогда последнее найдённое число –

это и есть искомое минимальное подходящее число.
 
var i, sum, min: integer;
begin

min:=5022;
sum:=0;

for i:=5021 downto -2031  do 
begin
  if (i mod 7 = 0) and (i mod 2 <> 0) and (i mod 3 <> 0) then  
  begin
    sum := sum + i;
    min:=i;
  end;
end;

Writeln(sum);
Writeln(min);

End.
 

Форма отчёта обучающегося: Файл

Принимается Файл изображения, архива или офисного документа (в т.ч. и pdf) до 15 мегабайт

Для отправки работы необходимо авторизоваться на сайте!