24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Помогите решить задачу.
Нужно вычислить значение суммы интегралов Френеля (два интеграла, от sin(x^2) и cos(x^2) соответственно) на отрезке от нуля до входного Х.
Точность - до пятого знака включительно. Ограничения по времени - анальные.
Попробовал метод бесконечного количества бесконечно малых прямоугольников - не укладываюсь во время: нужная точность достигается при 200 млн прямоугольников, а за заданное время успеваю обработать только около 16 млн.
Вот код:
double x;
cin >> x;
double cap = 200Math.pow(10,6);
double length = x/cap;
double sum = 0.0;
double i = length/2;
while (i<x) {
double pow = ii;
sum = sum + length (Math.sin(pow)+Math.cos(pow));
i = i + length;
}
write((Math.ceil(sum Math.pow(10, 5)) / Math.pow(10, 5))+"");
Знаю, что хуйня, обоссывайте, но помогите.