|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
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 |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Отправлю вам схожие обсуждения, можете поискать там нужную информацию Вычислить суммы произведений элементов. Pascal ABC Вычислить значения суммы ряда при заданных с консоли начальном и конечном значениях История разработки необычной мощной лазерной указки.. |
![]() |
#2 (permalink) | |
Радиоинженер
Регистрация: 25.09.2012
Адрес: г.Дзержинск Нижегородской обл.
Сообщений: 24,988
Записей в дневнике: 7
Сказал(а) спасибо: 290
Поблагодарили 219 раз(а) в 70 сообщениях
Репутация: 109466
|
![]()
Странно что в квадрат при этом не возводятся, а то была бы единица.
![]() Цитата:
P.s. Метод сортировки примитивен. Что-нибудь слышали про пузырьковый метод? ![]() Последний раз редактировалось Николай_С; 24.10.2016 в 17:37 |
|
![]() |
![]() |
![]() |
#4 (permalink) |
Member
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]()
Николай_С
Понимаете, после сортировки, мы имеем последовательность от самого меньшего числа, до самого большего. Далее все числа, пары, перемножаются. Иными словами умножение двух отрицательных чисел дает положительное число. В случае если число отрицательных чисел нечетно, то это будет самое маленькое по модулю отрицательное число и умножится оно на самое маленькое по модулю положительное число. То есть мы получим (в данном случае) самое малое по модулю отрицательное число. Понимаете, меньше Не существует. Ну а что с остальными числами? Приведу вам пример для двух пар чисел. Дано A, B, C, D - четыре числа в порядке возрастания. И надо доказать, что AB + CD - Абсолютный максимум. Итак у нас 2 варианта. Докажем оба 1. (AB + CD) > (AC + BD) 2. (AB + CD) > (AD + BC) ... 1. (AB + CD) - (AC + BD) > 0 ? A(B - C) + D(C - B) = (A - D)(B - C) > 0 (доказано) 2. (AB + CD) - (AD + BC) > 0 ? A(B - D) + C(D - B) = (A - C)(B - D) > 0 (доказано) Надо полагать, что далее может помочь математическая индукция (это я не проверял) Как вы считаете, этого недостаточно? |
![]() |
![]() |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|