public static LongNumber Task13(LongNumber x) // Задача номер ТРИНАДЦАТЬ! { // Переменная для ответа. LongNumber a = new LongNumber(); // Длинная единица, для удобства. LongNumber b = new LongNumber("1"); // Если модуль икса больше единицы. if (x.Abs(x) > b) { // Возвращаем ноль. return(a); } // Если всё нормально. else { // Считаем 100 шагов. int n = 100; // Переменная для текущего шага. // Считаем со 2 шага, поэтому изначально она равна первому шагу, то бишь иксу. LongNumber k = new LongNumber("1"); k.EqualTo(x); // Переменная для знака. int p = 1; LongNumber y = new LongNumber("1"); // Считаем ряд со второго шага в цикле. for (int i = 2; i <= n; i += 2) { k.EqualTo(k * x); k.EqualTo(k * x); k.EqualTo(k * p); y.EqualTo(y * (i * (i - 1))); k.EqualTo(k / y); p *= -1; a.EqualTo(a + k); } // Удаляем лишние нули и возвращаем. a.RemoveZeros(); return(a); } }