profile
Размещено 5 лет назад по предмету Информатика от LastError

Напишите на Pascal задачу.
7 класс
Просьба помочь с данной задачой.
Заранее спасибо.

Арифметическая Прогрессия
Для проведения парада по случаю нового года требуется некоторое количество военнослужащих. На параде военнослужащие занимаются исключительно построением в шеренги. Шеренга называется регулярной, если военнослужащие в ней либо все одного роста, либо рост возрастает от одного конца шеренги к другому каждый раз на одну и ту же величину, образуя тем самым арифметическую прогрессию.

Чтобы достойно выступить на параде, создайте из имеющихся в вашем расположении военнослужащих максимальную регулярную шеренгу.



Входные данные:

В первой строке входного файла задано число N - количество военнослужащих (0<=N<=5000).

Во второй сторке задан их рост в миллиметрах, где 0<=a[i]=5000.



Выходные данные:

Количество военнослужащих в максимальной регулярной шеренге.

  1. Ответ на вопрос
    Ответ на вопрос дан archery
    const
        auto = false;

    var
        soldier: array[1..5000]of integer;
        n, i, j, k, max, t, d, imax, a, c: integer;

    begin
        if auto then begin
            n := random(5000);
            for i := 1 to n do
                soldier[i] := random(5000);
        end
        else begin
            readln(n);
            for i := 1 to n do
                read(soldier[i]);
        end;
       
        {сортирововчка}
        for i := 1 to n - 1 do
        begin
            imax := i;
            for j := i + 1 to n do
                if soldier[j] > soldier[imax] then
                    imax := j;
            max := soldier[i];
            soldier[i] := soldier[imax];
            soldier[imax] := max;
        end;
       
        max := 0;
        for i := 1 to n - 1 do
            for j := i + 1 to n do
            begin
                a := soldier[j];
                d := soldier[j] - soldier[i];
                c := 2;
                for k := j + 1 to n do
                    if soldier[k] = a + d then begin
                        a := soldier[k];
                        c := c + 1;
                    end;
                if c > max then max := c;
            end;
       
        writeln(max);
    end.

    1. Ответ на вопрос
      Ответ на вопрос дан LastError
      Большое спасибо за помощь.
    2. Ответ на вопрос
      Ответ на вопрос дан archery
      если правильно, то поставь лучшее решение пожалуйста, надо для статуса) заранеее спасибо)
    3. Ответ на вопрос
      Ответ на вопрос дан LastError
      обязательно
    4. Ответ на вопрос
      Ответ на вопрос дан archery
      спасибо)
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.