Тип 17 № 37371 
Обработки числовой последовательности. Задания для подготовки
i
Решение. Сначала считаем все числа из файла в массив. Для каждой пары будем проверять, кратна ли 60 разность элементов пары. Если разность элементов кратна 60, будем увеличивать значения счётчика count и проверять, больше ли разность элементов пары текущей максимальной разности. Если разность элементов пары больше текущей максимальной разности, будем обновлять значение переменной maxdif.
Приведём решение задачи на языке Pascal.
var
i, j: integer;
count: longint;
maxdif: integer;
arr: array[1..10000] of integer;
f: text;
begin
assign(f,'C:\17.txt');
reset(f);
maxdif := 0;
count := 0;
for i := 1 to 10000 do readln(f, arr[i]);
for i := 1 to 10000 - 1 do
for j := i + 1 to 10000 do begin
if (abs(arr[i] - arr[j]) mod 60 = 0) then begin
count := count + 1;
if abs(arr[i] - arr[j]) > maxdif then maxdif := abs(arr[i] - arr[j]);
end;
end;
writeln(count, ' ', maxdif);
end.
В результате работы данного алгоритма при вводе данных из файла ответ — 832722 9960.
Приведём решение на языке Python.
s = []
f = open('17.txt')
for l in f:
s.append(int(l))
count = 0
d = 0
for i in range(len(s) - 1):
for k in range(i + 1, len(s)):
if (s[i] - s[k]) % 60 == 0:
count += 1
if d < abs(s[k] - s[i]):
d = abs(s[k] - s[i])
print(count, d)
Приведём решение Николая Чуркина (Тимашевск) на языке Python.
count = m = 0
f = open('17.txt')
l = [int(i) for i in f]
for i in range(len(l) - 1):
for j in range(i + 1, len(l)):
if (l[i] - l[j]) % 60 == 0:
count += 1
m = max(m, abs(l[i] - l[j]))
print(count, m)
Приведём решение Юрия Красильникова на языке Python.
a = [int(s) for s in open('17.txt')]
p = [abs(a[i]-a[j]) for i in range(len(a)-1) for j in range(i+1,len(a)) if (a[i]-a[j])%60==0]
print(len(p),max(p))
Примечание.
Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Ответ: 832722&9960