Вычисление синуса по разложению в ряд в С++
Синус можно представить в виде разложения в ряд. Этот ряд называют рядом Маклорена.
$$sin\left(x \right)=x-x^{3}/3!+x^{5}/5!-x^{7}/7!+...$$
Здесь приведен пример программы, вычисляющей значение синуса по разложению в ряд по приведенной формуле, преобразованной к итерационной форме.
Для того, чтобы уйти от необходимости вычислять факториалы больших чисел использована итерационная добавка, позволяющая исключить вычисление факториалов.
#includeusing namespace std; //Граница ряда: const int N=100; int main(){ //Аргумент функции и "рабочие" переменные: double x,q,s=0; //Индексная переменная: int n; cout<<"Enter x = "; cin >> x; q=x; //Вычисление синуса: for(n=1;n <= N;n++){ s+=q; q*=(-1)*x*x/(2*n)/(2*n+1); } //Результат: cout<<"sin(" << x << ") = " << s << endl; return 0; }