Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2010, 14:43   #1
Tanilita
Пользователь
 
Аватар для Tanilita
 
Регистрация: 17.11.2009
Сообщений: 29
Сообщение Математические действия/функции в C++

1. Допустим есть:

как взять корень n-й степени, в данном случае 4-й?

2. Как берется рассчитывается факториал?

3. У меня в задании есть описка "Не используя стандартных функций (за исключением abs)". Может кто нить пояснить:
а) Что за сие стандартные функции и какие бывают нестандартные?
б) Что за сия функция abs?
Tanilita вне форума Ответить с цитированием
Старый 10.03.2010, 14:52   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

1.
Код:
double s = sqrt(sqrt(double(x)))
2.
Код:
int fac(int a)
{
	int res = 1;
	for(int i = 2; i <= a; i++)
		res *= i;
	return res;
}
3.а стандартные это которые из STL
3.б аbs - функция взятия по модулю
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 10.03.2010, 15:08   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Ozerich
имхо первое в данном случае лучше так: pow(x, 0.25);
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 10.03.2010, 15:16   #4
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2Ozerich
имхо первое в данном случае лучше так: pow(x, 0.25);
Согласен. Это намного эффективнее
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 10.03.2010, 15:30   #5
Tanilita
Пользователь
 
Аватар для Tanilita
 
Регистрация: 17.11.2009
Сообщений: 29
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
2Ozerich
имхо первое в данном случае лучше так: pow(x, 0.25);
А если корень в N-й степени, то здесь тогда как поступать?
Tanilita вне форума Ответить с цитированием
Старый 10.03.2010, 15:34   #6
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от Tanilita Посмотреть сообщение
А если корень в N-й степени, то здесь тогда как поступать?
Если корень не является степенью двойки то тогда полученное значение будет очень не точным. А вычисляется тогда так
Код:
pow(x,1/n)
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 10.03.2010, 16:13   #7
Vago
Форумчанин
 
Регистрация: 15.01.2010
Сообщений: 948
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
Если корень не является степенью двойки то тогда полученное значение будет очень не точным.
Код:
   
int n = 3;
cout << pow(27., 1/(double)n );
И где же здесь, простите, неточность?..
Vago вне форума Ответить с цитированием
Старый 10.03.2010, 21:07   #8
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
3.а стандартные это которые из STL
Во-первых в STL не функции, а шаблоны.
Во-вторых, скорее всего, имелось ввиду что нельзя использовать стандартную библиотеку языка C. Т.е. функции pow, sqrt и т.п., нужно писать свою реализацию
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 11.03.2010, 22:16   #9
alex2693
Пользователь
 
Аватар для alex2693
 
Регистрация: 09.04.2009
Сообщений: 30
По умолчанию

с помощью функции sqrt(int);
Помогло?Скажи спасибо!☺☻☺☻
alex2693 вне форума Ответить с цитированием
Старый 21.03.2010, 18:36   #10
Tanilita
Пользователь
 
Аватар для Tanilita
 
Регистрация: 17.11.2009
Сообщений: 29
По умолчанию

Продолжаю тему:
Извиняюсь...
Есть "код" для вычисления факториала?

Последний раз редактировалось Tanilita; 21.03.2010 в 18:52.
Tanilita вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Математические выражения kta87 Общие вопросы Delphi 3 24.02.2010 21:37
математические действия с числом pionerka Помощь студентам 8 23.02.2010 14:37
Математические задачи. Руслан111 Помощь студентам 1 11.02.2010 11:55
Математические пакеты yudjin Общие вопросы Delphi 0 03.05.2008 09:02