СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

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

Категория: Информатика

Нажмите, чтобы узнать подробности

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

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

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

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

Пусть необходимо перебрать все целые числа на отрезке [a; b] и подсчитать, для скольких из них выполняется некоторое условие; общая структура цикла перебора записывается так : Pascal:  count := 0;  for n:=a to b do  if условие выполнено then  count := count + 1;  writeln(count);

Пусть необходимо перебрать все целые числа на отрезке [a; b] и подсчитать, для скольких из них выполняется некоторое условие; общая структура цикла перебора записывается так :

Pascal:

count := 0;

for n:=a to b do

if условие выполнено then

count := count + 1;

writeln(count);

Пример задания:  Р-01. Рассматривается множество целых чисел, принадлежащих отрезку [1033; 7737], которые делятся на 5 и не делятся на 11, 17, 19 и 23. Найдите количество таких чисел и максимальное из них. В ответе запишите два числа через пробел: сначала количество, затем максимальное число.

Пример задания: Р-01. Рассматривается множество целых чисел, принадлежащих отрезку [1033; 7737], которые делятся на 5 и не делятся на 11, 17, 19 и 23. Найдите количество таких чисел и максимальное из них. В ответе запишите два числа через пробел: сначала количество, затем максимальное число.

Решение (простой перебор):  1) поскольку заданный отрезок [1033; 7737] содержит не так много чисел, можно решать задачу простым перебором, особо не заботясь об эффективности вычислений  2) условие будем понимать так: интересующие нас числа делятся на 5 и не делятся ни на одно из чисел 11, 17, 19 и 23  3) выгоднее перебирать числа в порядке возрастания, тогда последнее найденное число – это и есть искомое максимальное подходящее число (если требуется найти наименьшее подходящее число, удобнее перебирать числа в порядке убывания)

Решение (простой перебор): 1) поскольку заданный отрезок [1033; 7737] содержит не так много чисел, можно решать задачу простым перебором, особо не заботясь об эффективности вычислений 2) условие будем понимать так: интересующие нас числа делятся на 5 и не делятся ни на одно из чисел 11, 17, 19 и 23 3) выгоднее перебирать числа в порядке возрастания, тогда последнее найденное число – это и есть искомое максимальное подходящее число (если требуется найти наименьшее подходящее число, удобнее перебирать числа в порядке убывания)

Решение (программа на языке Pascal):   var к, i, maх: integer;  begin  к:= 0;  max:= 0;  for i:=1033 to 7737 do  if (i mod 5 = 0) and (i mod 11  0) and  (i mod 17  0) and (i mod 19  0) and  (i mod 23  0) then  begin  max:= i;  k := k + 1 ;  end;  writeln(k, ' ', max)  end.

Решение (программа на языке Pascal): var к, i, maх: integer; begin к:= 0; max:= 0; for i:=1033 to 7737 do if (i mod 5 = 0) and (i mod 11 0) and (i mod 17 0) and (i mod 19 0) and (i mod 23 0) then begin max:= i; k := k + 1 ; end; writeln(k, ' ', max) end.