Думаю, логика у нас здесь будет такая: нужно разложить данные три числа на простые сомножители. Получится: 132 = 2 * 2 * 3 * 11 106 = 2 * 53 134 = 2 * 67 Что у них есть общего - то можно откинуть, потому что количество кругов будет при общих сомножителях делиться без остатка. Собрать в ответ нужно следующее: от первого - 2 * 2 * 3 * 11 от второго - 53 (двойку не берём, потому что она уже взята с первым) от третьего - 67 (двойку опять не берём)
Получается: 2 * 2 * 3 * 11 * 53 * 67 = 468732 секунды. Это, как я думаю, ответ.
При этом (чисто для сведения), до момента встречи: первый намотает 3551 круг второй - 4422 круга третий - 3498 кругов.
var a: array[1..MAX_SIZE] of integer; i, size: integer;
procedure delete_odd_elements(); var i, j: integer; begin i := 1; repeat if odd(a[i]) then begin dec(size); for j := i to size do a[j] := a[j + 1] end else inc(i); until i > size; end;
begin writeln('Исходный массив: '); size := MAX_SIZE; for i := 1 to size do begin a[i] := random(100); write(a[i] : 3); end; delete_odd_elements; writeln; writeln('Полученный массив: '); for i := 1 to size do write(a[i] : 3); end.
существует основных три сети