ЕГЭ информатика 25 задание на Паскале

Аватар автора
Планета Веб
Смысл всех заданий из данного раздела заключается в определении кратности: это и делители, и простые числа. Наша задача перебрать все значения и заданного диапазона (в данном случае [174457; 174505]). То есть мы берем каждое число, сначала 174457, затем 174458 и так далее. И проверяем каким из чисел будет кратно данное число. Можно, конечно, перебирать все значения от 1 до самого числа, но это неэффективно, поэтому придумаем исключения. Нам всем известно, что каждое число, как минимум, делится на 1 и на само себя без остатка, поэтому проверять их не имеет смысла. Но также следует учитывать, что каждое число имеет делитель максимально равный лишь половине себя. Например, число 16 имеет максимальный делитель 8, а минимальный 2. При делении на числа от 9 до 15 целым ответ не будет. Следовательно, мы будем крутить внутренний цикл от 2 до половины самого числа и так для каждого из диапазона [174457; 174505]. var count, i, j, n: longint; mas: array[1..3] of longint; begin for i:=174457 to 174505 do begin //перебираем заданный диапазон count:=0; for j:=2 to i div 2 do begin //перебираем потенциальные делители if i mod j = 0 then begin count:=count+1; mas[count]:=j; end; if count больше 2 then break; end; if count=2 then writeln(mas[1],&',mas[2]); end; end.

0/0


0/0

0/0

0/0