|
||||
Задание 17 часть 1. Решение. for i:=4668 to 10414 doСтр 1 из 2Следующая ⇒ Задание 17 часть 1
Рассматривается множество целых чисел, принадлежащих числовому отрезку [256; 2566], которые делятся на 7 и не делятся на 21, 23, 31.
Найдите сумму таких чисел и максимальное из них. В ответе запишите два целых числа: сначала сумму, затем максимальное число (через пробел). Решение Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.
В данной программе знак % заменяет слово «делится». Запускаем, получаем на экране результат 287427 2555 Ответ: 287427 2555
Еще примеры подобных заданий Пример 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; if i > max then max: =i; end; end;
Writeln(c); Writeln(max);
End. Рассмотрим анатомию данной программы:
В начале заводятся 3 переменные: для количества чисел, удовлетворяющих условию задачи (переменная c ), и для максимального значения (переменная max ) и для ЦИКЛА дополнительную переменную i. Затем идёт инициализация переменных, т. е. присваиваем переменным начальные значения. В начале количество чисел, удовлетворяющих условию задачи, равно нулю, поэтому переменная c равна нулю. Переменной max присваиваем значение ноль. Мы выбираем очень маленькое значение специально, т. к. далее в ЦИКЛЕ будем брать все целые числа из заданного диапазона, и, если найдётся число, удовлетворяющее условию задачи, большее, чем значение в переменной max, то это число запишем в переменную max. Таким образом, числа, которые " победят" переменную max, сами " получают титул" максимального значения и записываются в переменную max. Для этого мы и делаем очень маленькое значение в начале. Ведь, если поставить в переменную max большое значение, его будет сложно " победить", и мы получим не правильный результат. Важно знать: Если мы ищем максимальное значение, то в начале в переменную max кладём минимальное значение. Примечание: Если после выполнения программы в переменной max останется ноль, значит, нету чисел в указанном интервале, удовлетворяющих условию задачи.
Далее идёт ЦИКЛ for. Он перебирает все целые числа от 4668 до 10414. Границы цикла показывают ключевые слова begin и end. Эти слова показывают границы чего-либо в языке программирования Паскаль. У нас с помощью этих слов в этом примере показаны границы основной части программы, ЦИКЛА for и условия! Внутри ЦИКЛА находится команда условия if. Она проверяет подходит ли конкретное число из обозначенного диапазона под наши условия задачи. Если ДА, то мы прибавляем к переменной с единицу и проверяем может ли данное число претендовать на на максимальное значение. Важно знать: Когда ищем количество, мы в ЦИКЛЕ прибавляем к переменной по 1. После окончания ЦИКЛА у нас в переменных c и мах будут уже нужные нам значения. И мы их распечатываем на экран.
Пример 2 Рассматривается множество целых чисел, принадлежащих числовому отрезку [-2031; 5021], которые делятся на 7, являются нечётными и не делятся на 3. Найдите сумму таких чисел и минимальное из них. В ответе запишите два целых числа: минимальное значение, затем сумму. Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц.
var i, sum, min: integer;
|
||||
|