Учимся вместе ::: Сделай на компьютере ::: Несколько мат.функций на C

В некоторых задачах по программированию нужно произвести какие-нибудь вычисления, но при этом запрещают пользоваться тандартными математическими функциями.
Однако, если не уточняется, что мы не можем написать их сами, нам ничего не мешает это сделать!
Примеры некоторых я напишу на C.
1) Первая - это вычисление степени с вещественным основанием и целым положительным показателем ap. Есть много путей, но лучший пока - реккурентное умножение.

Листинг 1

2) Вторая - вычисление факториала числа a!. Эта функция также реализована реккурентным умножением.

Листинг 2

Первые две функции очень просты, третья сложнее.
3) Вычисление квадратного корня числа. Математика вычислений построена на том, что корнем числа a^0.5 является пределом последовательности {x(n)}, заданной реккурентным соотношением x(n+1)=0.5*(x(n)+ a/x(n)), x(1)=a.
Для реализации рекуурсии функции ей аргументами передаются текущий x(n) и a. Третий аргумент - номер n, x(n) будет выдан как a^0.5, и n задает точность вычисления (обычно n=100 хватает за уши).
Листинг 3

 Соответственно, a^0.5=SquRt(a, a, n).
4) Вычисление синуса угла в радианах. Эта функция раскладывает синус x (0<=x<2?) в ряд Тейлора: sin(x)=x + x^3/3! + x^5/5! + x^7/7!... Здесь будем использовать функции степени и факториала. Как аргументы функции передаются x и n, последний задает степень точности (количество слагаемых, для 6 знаков после запятой хватает n=10).
Листинг 4

Ну вот так и закрутились, не используя стандартные функции)

<<< Предыдущая работа

Вернуться в галерею "Учимся вместе"
Несколько мат.функций на C
Автор: Администратор 1-го ранга (Координатор) Darth Waiter*
Город: На'Хталн

Дата: 11.10.2010  19:42
Комментариев: 4
Просмотров: 1797
Оценка: 2 (1|0|0|0|1) [2]

Вернуться на главную
  Работа опубликована администратором Walet  
Вы не можете оценивать

КОММЕНТАРИИ К РАБОТЕ:
alexa22 ::: комментарий от 12.12.2014 | 13:37
alexa22 Дух (ур.1)
Очки: 10
Город: г.Иваново
Тв. работ: 0
Рег: 12.12.2014 (26006)
А вы что хотели ))


--------------------
Наш девиз непобедим, сначало сделаем и отдадим
tat.kozhemyackina ::: комментарий от 12.10.2012 | 14:35
  Дух (ур.1)
Очки: 16
Город: г.Томск
Тв. работ: 0
Рег: 22.09.2012 (21566)
да ладно нормально всё

не очень!
Администратор 1-го ранга (Координатор) Darth Waiter* ::: комментарий от 10.02.2011 | 20:53
Darth Waiter Герой (ур.14)
Очки: 14340
Город: На'Хталн
Тв. работ: 72
Рег: 15.04.2009 (10407)
Ответ для Sauron 15.11.2010 | 17:38:
Мне Валет (кажется, он) обещал удалить, чтоб я перезалил - это к проблеме с картинками)
Сейчас вижу, что я тоже не могу удалить, почему-то у автора нет такой кнопки)


--------------------
Император рад вас видеть
Администратор 1-го ранга (Координатор) Sauron ::: комментарий от 15.11.2010 | 20:38
Sauron Вождь (ур.18)
Очки: 40487
Город: Томск
Тв. работ: 168
Рег: 27.04.2006 (15)
цитирую:
В некоторых задачах по программированию


Это в каких?) На практике ничего не запрещается

Не понимаю зачем так извращаться.



И картинки не грузятся, да.


--------------------
Штоу.