• Записали выражение: $2014 - (2013) + 2012 - (2011) + … + 2 - (1)$ (знаки плюс и минус чередуются). Можно поменять местами любые два числа (не трогая знаки), а затем вычислить значение получившегося выражения. 
    Какое максимальное число можно получить таким образом (можно сделать только один обмен)? В качестве ответа укажите одно целое число.
    Комментарий. Если поменять 2 и 1, получится такое выражение: $2014 - (2013) + 2012 - (2011) + … + 1 - (2)$.

Ответы 1

  • код //PascalABC.NET версия 3.2, сборка 1389//Если программа не запускается, то обновите версиюuses System;const    n = 2014;begin        var a := ArrGen(n, i -> i * Power(-1, i), 1);    Println(a);        var max := a.Sum();    for var i := 1 to n - 1 do         for var j := i + 1 to n do         begin            var b := Arr(a);                        for var k := b.Low to b.High do             begin                if abs(b[k]) = i then                     b[k] := sign(b[k]) * j                else if abs(b[k]) = j then                     b[k] := sign(b[k]) * i;            end;                        var sum := b.Sum();            if (max < sum) and (sum > 2000) then begin                Println(i, j, sum);                Println(b);                max := sum;            end;        end;    Println(max);end. Ответ Обмен (2; 2013) Сумма = 5029
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years