Показать сообщение отдельно
Старый 24.10.2016, 16:34   #1 (permalink)
iks2
Member
 
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Вычислить максимум необычной суммы?

Задача
дано 100 чисел: sin1, sin2, ... , sin100
Эти числа разбиваются на пары и перемножаются. Получается 50 чисел, которые и складываются.
Требуется всё это проделать так, чтобы получить максимальную сумму.

решение
1. числа загоняются в массив
2. массив сортируется
3. рядом стоящие элементы перемножаются и все суммируется

Вопрос. Будет ли это Истинный максимум?

Код:
REM
REM  SUMMA = 25.11266
REM

CLS
CONST n = 100
DIM x(1 TO n)

FOR i = 1 TO n
   x(i) = SIN(i)
NEXT

FOR i = 1 TO n - 1
FOR j = i + 1 TO n
   IF x(i) > x(j) THEN SWAP x(i), x(j)
NEXT j, i

FOR i = 1 TO n - 1 STEP 2
   S = S + x(i) * x(i + 1)
NEXT

PRINT "SUMMA ="; S
END
iks2 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070