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

Файл со­дер­жит по­сле­до­ва­тель­ность не­от­ри­ца­тель­ных целых чисел, не пре­вы­ша­ю­щих 10 000. Назовём парой два иду­щих под­ряд эле­мен­та по­сле­до­ва­тель­но­сти. Опре­де­ли­те ко­ли­че­ство пар чисел, про­из­ве­де­ние ко­то­рых крат­но 15, а их сумма де­лит­ся на 7. В от­ве­те за­пи­ши­те два числа: сна­ча­ла ко­ли­че­ство най­ден­ных пар, а затем  — мак­си­маль­ную сумму эле­мен­тов таких пар.

За­да­ние 17

Ответ:

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

Ре­ше­ние.

Решим за­да­чу пе­ре­бо­ром. При­ведём ре­ше­ние дан­ной за­да­чи на языке PascalABC:

var

x, y, count, maxsum: integer;

f: text;

begin

assign(f,'C:\17.txt');

reset(f);

count := 0;

maxsum := 0;

readln(f, x);

while not eof(f) do begin

readln(f, y);

if ((x * y) mod 15 = 0) and ((x + y) mod 7 = 0) then begin

count := count + 1;

if (x + y > maxsum) then maxsum := x + y;

end;

x := y;

end;

writeln(count, ' ', maxsum);

end.

 

При­ведём ре­ше­ние Ни­ко­лая Чур­ки­на (Ти­ма­шевск) на языке Python.

count = m = 0

f = open('17.txt')

l = [int(i) for i in f]

for i in range(len(l) - 1):

if ((l[i] * l[i + 1]) % 15 == 0) and (l[i] + l[i + 1]) % 7 == 0:

count += 1

m = max(m, l[i] + l[i + 1])

print(count, m)

 

Ре­зуль­тат ра­бо­ты про­грам­мы  — 170 18662.

 

Ответ: 170 18662.