Дано 7 чисел, найти их максимальную сумму при условии - QBasic

Узнай цену своей работы

Формулировка задачи:

Дано 7 чисел. 1*7; 2*6; 3*5; 4*4; 5*3; 6*2; 7*1 Между этими числами надо расставить три знака сложения и три знака вычитания так, чтобы полученная сумма была максимальной. (проверено)

Решение задачи: «Дано 7 чисел, найти их максимальную сумму при условии»

textual
Листинг программы
DIM a(1 TO 7) AS LONG
DIM i AS LONG, j AS LONG
FOR i = 1 TO 7
    a(i) = i * (8 - i)
    FOR j = 2 TO i - 1
        IF a(i) > a(j) THEN SWAP a(i), a(j)
    NEXT j, i
PRINT a(1) + a(2) + a(3) + a(4) - a(5) - a(6) - a(7)

Объяснение кода листинга программы

В этом коде на языке QBasic:

  1. Создаются две переменные: — a(1 TO 7) AS LONG — массив из семи элементов типа LONG (целые числа со знаком). — i AS LONG — счётчик, используемый в циклах. — j AS LONG — второй счётчик, также используется в циклах.
  2. В каждой итерации внешнего цикла FOR i = 1 TO 7 элемент a(i) присваивается значение i * (8 - i).
  3. В каждой итерации внутреннего цикла FOR j = 2 TO i — 1 проверяется, не больше ли значение элемента a(i) значения элемента a(j). Если это так, то с помощью команды SWAP a(i), a(j) значения элементов меняются местами.
  4. После завершения внутреннего цикла счётчики i и j обновляются.
  5. После завершения внешнего цикла выводится сумма элементов a(1), a(2), a(3), a(4), -a(5), -a(6), -a(7).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы