к
менее типичной задачеОчевидно, я недостаточно внятно сформулировал задачу, в результате ряд уважаемых читателей решили, что основная проблема - это оценка остатка и увлеченно принялись эту оценку искать. Сам по себе, поиск такой оценки - дело интересное, но в рамках исходной задачи не самое важное
(
Read more... )
Comments 3
11 раз складываем:
- 100 000 членов последовательности
- 100 000 членов ряда эйлера
- берём остаточный член от ряда эйлена
Даёт скорость 30 миллисекунд.
Вариант увеличить скорость в 10 раз (без привлечения SIMD их в плавучке у нас вроде нету?) или аналитики) реальный:
- вдвое за счёт 1-кратного подсчёта ряда эйлера
- ещё в 1.5 раза за счёт того, что все 11 рядов считаем одновременно -- получим более плотное использование FPU в коде.
- ещё в 3 раза -- за счёт сокращения кол-ва суммируемых членов ряда и работы с "ожидаемой" погрешностью
Но тут мы получим точность "впритык" к 10^-10.
А как получить (при той же скорости) на 4 порядка больше -- не представляю.
Надо аналитически исследовать ряд, интересно что вы сделали.
Reply
Чтоб вам окончательно отринуть решение "в лоб". Персонально для себя считайте погрешность 1e-12 (-13, -14). Суть не меняется совершенно, запаса по времени хватает с избытком.
Reply
Reply
Leave a comment