Flora999
03.04.2021 05:48

Написать рекурсивную функцию, выводящую на печать m строк, состоящих из n символов каждая. на языке паскаль

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
zincenkoe759
02.11.2022 21:33
//Видимо, это одна задача, так как "изменения" во второй не указаны
//Pascal ABC.NET v3.1 сборка 1172

Const
 n=20;

Var
 ar:array[1..n] of integer;
 i:integer;
begin
 randomize;
 writeln('First array:');
  for i:=1 to n do
   begin
    ar[i]:=random(10)-3;
    write(ar[i]:4);
    if ar[i]>0 then ar[i]:=ar[i]*2 else ar[i]:=0;
   end;
 writeln;
 writeln('Final array:');
  for i:=1 to n do
   write(ar[i]:4);
end.

Пример работы программы:
First array:   2  -3   5   6  -3  -3   1  -2  -3   1   3  -3   4  -3   1  -1   6   6   2   3
Final array:   4   0  10  12   0   0   2   0   0   2   6   0   8   0   2   0  12  12   4   6
0,0(0 оценок)
Ответ:
maks719
12.09.2020 09:08
Думаю, логика у нас здесь будет такая: нужно разложить данные три числа на простые сомножители. Получится:
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 кругов.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота