Найти максимум числового выражения 205.03.2017, 10:08. Показов 1462. Ответов 7
Метки нет (Все метки)
ТС предлагает вам решить эту задачу. Она принесет
вам счастье и радость грядущего лета... Введем обозначение. sin = s. Дано числовое выражение s1*s2 +...+ sk*s(k+1)*s(k+2) +...+ s200*s201 тут всего 201 функция sin. От sin(1) до sin(201) (обозначено кратко s1, ..., s201) Все синусы попарно в порядке очереди перемножаются. и потом суммируются НО ЕСТЬ ОДНО НО. Есть одно слагаемое состоящее из Трёх синусов При этом это слагаемое может быть в любой месте нашего выражения (быть первый, в середине, в конце) Требуется определить максимум этого выражения (найти число k - положение тройки синусов) и вывести результат на экран.
0
|
||||||
| 05.03.2017, 10:08 | |
|
Ответы с готовыми решениями:
7
|
| 06.03.2017, 09:56 | ||||||
Сообщение было отмечено echs как решение
Решение
не четко сформулирована задача, как правильно должно быть?
s1*s2 + s2*s3 + s3*s4 + ... или s1*s2 + s3*s4 + s5*s6 + ... Если второй вариант, то задача решена не верно в 13й и 17й строках должно быть указано Step 2 строка 10 - лишняя в 27й строке нужно выводить Max, а не S к тому же код не рациональный, потребуется очень много времени, если, например, нужно считать не до 201, а до 10000 Задача имеет сложность О(N), а не O(N^2), как реализовано в Вашем решении:
1
|
||||||
| 06.03.2017, 11:09 [ТС] | |
|
m-ch
СПАСИБО! Вы правы я пропустил ключевое слово STEP 2. ... m-ch Но мне ваш код что-то непонятен. Кажется (!!) там что-то либо лишнее, либо пропущено... Такое ощущение... ведь слагаемое с тремя синусами должно разрывать на части этот ряд. Ибо две части (две суммы) имеют разное начало и конец суммирования...
0
|
|
| 06.03.2017, 14:14 [ТС] | |
|
m-ch
Спасибо еще раз! Однако честно говоря, код очень мудрёный. Даже сейчас я понимаю, что зная его, я его не сумею повторить. Но все-равно спасибо!! Для меня это недоступная вершина... Добавлено через 1 минуту m-ch А нельзя ли в трёх словах описать алгоритм? Наверное я скорее пойму.
0
|
|
| 06.03.2017, 15:12 | ||||||
Сообщение было отмечено echs как решение
Решение
По переменным:
в S1 храним сумму произведений синусов до i-го элемента: sin1*sin2 + sin3*sin4 + ... + sin(i-2)*sin(i-1) в переменной S2 храним сумму произведений оставшихся синусов после i+2 sin(i+3)*sin(i+4) + sin(i+5)*sin(i+6) + ... + sin200*sin201 для этого мы вначале вычисляем s2 для всего ряда (строки 3-5) далее в цикле (строки 6-11) на каждом шаге вычисляем текущее значение s1 и s2 в 8й строке вычисляем значение суммы ряда, где три синуса вычисляются для i-го значения, а переменные s1 и s2 вычисляются накопительным итогом от предыдущих вычислений. если сложность алгоритма приравнять к количеству, сколько раз вызывается функция Sin, то в моем варианте количество вызовов изменяется линейно от n: K = (n-1)/2*9 В Вашем же алгоритме - квадратичная зависимость: K = (((n-1)/2)^2+1)*3-n поэтому с ростом N, Ваш алгоритм будет сильно тормозить. Добавлено через 4 минуты Мой код можно немного сократить по количеству вычислений (используя только один цикл):
1
|
||||||
| 07.03.2017, 08:08 | ||||||
|
В предыдущем коде, функция Sin вызывалась (n-1)/2*7 = 700 раз
на самом деле необходимо вычисления делать только n (201) раз, все остальные вычисления синусов - дублируются. Учитывая, что тригонометрические функции не очень быстрые, можно свести к минимуму их вызов:
1
|
||||||
| 07.03.2017, 08:08 | |
|
Помогаю со студенческими работами здесь
8
Найти сумму числового ряда
Найти локальный максимум Найти минимум и максимум в массивах чисел и вычислить значение выражения
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|