Задания
Версия для печати и копирования в MS Word
Тип Д17 № 27622
i

Рас­смат­ри­ва­ет­ся мно­же­ство целых чисел, при­над­ле­жа­щих чис­ло­во­му от­рез­ку [8812; 12285], ко­то­рые де­лят­ся на 8 или 19 и не де­лят­ся на 4, 9, 14, 16. Най­ди­те ко­ли­че­ство таких чисел и мак­си­маль­ное из них. В от­ве­те за­пи­ши­те два целых числа без про­бе­лов и дру­гих до­пол­ни­тель­ных сим­во­лов: сна­ча­ла ко­ли­че­ство, затем мак­си­маль­ное число.

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

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние дан­ной за­да­чи на языке Пас­каль:

var count, max, i: integer;

begin

max := 0;

count := 0;

for i := 8812 to 12285 do begin

if (i mod 8 = 0) or (i mod 19 = 0) then

if i mod 4 <> 0 then

if i mod 9 <> 0 then

if i mod 14 <> 0 then

if i mod 16 <> 0 then begin

count := count + 1;

if i > max then

max := i;

end;

end;

writeln(count, max);

end.

 

Ответ: 11712274.

 

При­ме­ча­ние.

За­ме­тим, что если число не де­лит­ся на 4, то оно не де­лит­ся также на 8 и на 16. Сле­до­ва­тель­но, можно рас­смат­ри­вать толь­ко числа, ко­то­рые де­лят­ся на 19 и не де­лят­ся на 4, 9 и 14. При этом умень­шит­ся ко­ли­че­ство усло­вий, про­ве­ря­е­мых в про­грам­ме.

var count, max, i: integer;

begin

max := 0;

count := 0;

for i := 8812 to 12285 do begin

if i mod 19 = 0 then

if i mod 4 <> 0 then

if i mod 9 <> 0 then

if i mod 14 <> 0 then begin

count := count + 1;

if i > max then

max := i;

end;

end;

writeln(count, max);

end.

Раздел кодификатора ФИПИ: 1.7.2 Ос­нов­ные кон­струк­ции языка про­грам­ми­ро­ва­ния. Си­сте­ма про­грам­ми­ро­ва­ния