В этом как раз вся и проблема.
Все идеи свои я исчерпал.Если у вас есть свои размышления,прошу напишите их.
Вот рисунок:
М | Сообщения объеденены ... а на следюющий раз знай, что есть кнопака "правка" klem4 |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Площадь фигуры,образованная окружностями. |
Vardes |
Сообщение
#1
|
|||
Пионер Группа: Пользователи Сообщений: 131 Пол: Мужской Репутация: 0 |
Рассматриваются n лучей,проведённых в плоскости из точки О.Углы между соседними лучами равны 2pi/n.На лучах выбраны точки A1,А2..An и из этих точек как из центров проведены окружности,проходящие через точку O.Необходимо вычислить площадь фигуры,образованную всеми окружностями.
В этом как раз вся и проблема. Все идеи свои я исчерпал.Если у вас есть свои размышления,прошу напишите их. Вот рисунок:
Эскизы прикрепленных изображений |
|||
volvo |
Сообщение
#2
|
Гость |
Смотри, есть такое предложение: если у тебя не выходит с методом Монте-Карло, сделай почти Монте-Карло Просто перебирай с маленьким шагом все точки, лежащие внутри прямоугольника, и проверяй, какие из них попадают внутрь фигуры:
{ Программа полностью: __VARD_1.PAS ( 1.61 килобайт ) Кол-во скачиваний: 568 Это уже будет работать быстрее алгоритма со случайными числами, т.к. "тяжелая" операция генерации чисел просто отсутствует, и заменена на гораздо более простую - перебор в цикле. Но и это еще не предел... Как я уже писал выше, оптимизируем программу. 1) заменяем Real на Double 2) вместо того, чтобы в цикле выполнять Sqrt, можно ДО цикла возвести все mas[i] в квадрат, и потом сравнивать квадраты 3) целочисленные X := X + 1 заменяем на Inc(X). Вот что имеем: sum:=0; none := 0; Программа полностью: __VARD_2.PAS ( 1.66 килобайт ) Кол-во скачиваний: 596 Вторая программа выполняется быстрее первой почти в 25 раз !!! |
Текстовая версия | 12.05.2024 13:51 |