Форум программистов, компьютерный форум CyberForum.ru

Расчет значения экспоненты - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.89
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
03.08.2012, 21:54     Расчет значения экспоненты #1
Есть задача, где требуется вычислить мат. константу е, по формуле е = 1 + 1/0! + 1/1! + 1/2! + 1/3! + ..., и тут в форуме я нашел что-то похожее на ответ:
C++
1
2
3
4
5
6
7
8
9
10
 int e;
for(int i=0; i<100; i++)
{
int a
for(a=0; a<i; a++)
{
a*=a;
}
e+=1/a;
}
но у меня возник вопрос: почему цикл останавливается на значений 100? является ли это пределом, когда цикл останавливается или нет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Catstail
Модератор
 Аватар для Catstail
21493 / 10246 / 1670
Регистрация: 12.02.2012
Сообщений: 17,129
04.08.2012, 20:29     Расчет значения экспоненты #21
Цитата Сообщение от ValeryS Посмотреть сообщение
потом не объявлено пространство имен
- я работаю в MS VC++ 6.0 там пространство имен задавать не обязательно. Что до include, то да - в современных студиях рекомендуют использовать <..>

Цитата Сообщение от ValeryS Посмотреть сообщение
Что такое х? и чего мы считаем?
- ох... Функия (моя) exp_ вычисляет значение ex с задаваемой точностью (в примере - 10-14). В частности - если введешь 1, получишь e1 (что, естественно, равно просто e). Полагаю, все ясно?

А за код с факториалами я бы снизил оценку на балл...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,048
04.08.2012, 20:38     Расчет значения экспоненты #22
Цитата Сообщение от Catstail Посмотреть сообщение
ex с задаваемой точностью (в примере - 10-14). В частности - если введешь 1, получишь e1 (что, естественно, равно просто e).
я правильно понял что 2.71828 это точность в четырнадцатом знаке?
и тема то про расчет экспоненты при использовании факториалов
Цитата Сообщение от Catstail Посмотреть сообщение
А за код с факториалами я бы снизил оценку на балл...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2012, 20:41     Расчет значения экспоненты
Еще ссылки по теме:

Вычисление экспоненты C++
Степень отрицательной экспоненты C++
C++ Вычисление экспоненты

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Catstail
Модератор
 Аватар для Catstail
21493 / 10246 / 1670
Регистрация: 12.02.2012
Сообщений: 17,129
04.08.2012, 20:41     Расчет значения экспоненты #23
Неправильно. При выводе задай больше значащих цифр - получишь то, что хочешь. Ну, не с 14-ю значащими цифрами, но 13 - думаю, будут верными.

Вот модифицированный код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream.h>
#include <math.h>
 
double exp_(double x,double eps)
{
    double s=1;
    double n=1;
    double a=1;
    while (1)
    {
        a=a*x/n;
        if (fabs(a) <= eps) break;
        s=s+a;
        n++;
    }
    return s;
}
 
int main(int argc, char* argv[])
{
    double x;
    cout.precision(13);  // точность при печати
    cout << "Enter x ";
    cin >> x;
    cout << "exp(" << x << ")=" << exp_(x,1e-14) << endl;
    return 0;
}
Миниатюры
Расчет значения экспоненты  
Yandex
Объявления
04.08.2012, 20:41     Расчет значения экспоненты
Ответ Создать тему
Опции темы

Текущее время: 02:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru