Разработать алгоритм и программу, что решает задачу

Разработать алгоритм и программу, что решает задачу. Есть число Х с плавающей запятой. Рассчитать массив Х[n] так, что

Как это решить без использования функции пов?


Ответы (1 шт):

Автор решения: Arty

Можно заметить что каждый следующий элемент массива отличается от предыдущего всего лишь одним последним дополнительным слагаемым, остальные слагаемыме совпадают. Также можно заметить, что каждое следующее слагаемое содержит в себе степень X на два больше чем предыдущее и противоположный знак. В итоге итеративно можно хранить текущую степень, а следующую вычислять просто домножением на -1 * X * X.

В итоге можно написать такую простейшую C-программу вычисления этих элементов массива без использования функции возведения в степень:

Попробовать программу онлайн!

#include <stdio.h>

int main() {
    enum { n = 10 };
    double x = 3.1415;
    double xa[n];
    xa[0] = x;
    double mult = -x, sum = 0;
    for (int i = 1; i < n; ++i) {
        mult *= -1 * x * x;
        sum += mult / (2 * i + 1);
        xa[i] = sum;
    }
    for (int i = 0; i < n; ++i)
        printf("%f ", xa[i]);
}

Вывод:

3.141500 10.334511 -50.860401 380.520992 -2930.722114 23806.422154 -199467.746188 1710230.290999 -14919345.373513 131922764.526441 
→ Ссылка