Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 37, средняя оценка - 4.89
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
#1

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

03.08.2012, 21:54. Просмотров 5236. Ответов 22
Метки нет (Все метки)

Есть задача, где требуется вычислить мат. константу е, по формуле е = 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? является ли это пределом, когда цикл останавливается или нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.08.2012, 21:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Расчет значения экспоненты (C++):

Расчет значения многочленов и их степень - C++
Уважаемые эксперты, подскажите пожалуйсто, как по ряду Тейлора : 2*х+х3/3+x5/5+...+x2n+1/(2n+1)+... расчитать значение многочленов и их...

расчет значения e^x(x это степень) - C++
есть задача,в котором нужно рассчитать значение e^x. Проблема в том что я даже понятие не имею что это такое это экспоненто в степени x....

Расчет значения функции по введенному значению и графику - C++
Нужна помощь с программой по данному графику.Нужно написать программу для расчета значения функции у по введенному значению х, если задан...

Вычисление экспоненты - C++
Разработать программу, вычисляющую e^x= 1 + x + x^2/2! + x^3/3! +...+ x^n/n! c точностью эпсилон. Подскажите как сделать так чтоб...

Вычисление экспоненты - C++
Разработать программу, вычисляющую e^x= 1 + x + x^2/2! + x^3/3! +...+ x^n/n! c точностью эпсилон.

Вычисление экспоненты - C++
Здравствуйте. Я новичек в сфере программирования и очень нуждаюсь в вашей помощи. Помогите составить программму для вычисления е^x с...

22
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
04.08.2012, 18:41  [ТС] #16
Цитата Сообщение от Catstail Посмотреть сообщение
Там нет члена 1/0!
посмотрите пост №8
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,189
04.08.2012, 18:46 #17
Цитата Сообщение от Catstail Посмотреть сообщение
while (1)
{
a=a*x/n;
if (fabs(a) <= eps) break;
чеж ты так бесконечные циклы и break-и любишь?
открой для себя do-while
вот твой код
C++
1
2
3
4
5
6
do
    {
        a=a*x/n;
        s=s+a;
        n++;
    }while (fabs(a) > eps);
Добавлено через 1 минуту
Цитата Сообщение от Kuanish Посмотреть сообщение
посмотрите пост №8
посмотрели.....
расчет факториала......
а расчет экспоненты где?
0
Kuanish
0 / 0 / 0
Регистрация: 16.07.2012
Сообщений: 24
04.08.2012, 18:49  [ТС] #18
Цитата Сообщение от ValeryS Посмотреть сообщение
а расчет экспоненты где?
еще раз посмотрите, то что написано выше кода на посте №8, я там разве писал что-нибудь про экспоненто?
0
Catstail
Модератор
22832 / 11198 / 1812
Регистрация: 12.02.2012
Сообщений: 18,439
04.08.2012, 19:05 #19
Цитата Сообщение от Kuanish Посмотреть сообщение
посмотрите пост №8
- я знаю, что такое экспонента

Цитата Сообщение от ValeryS Посмотреть сообщение
чеж ты так бесконечные циклы и break-и любишь?
открой для себя do-whil
- ты хочешь мне объяснить, что следует любить, а что - нет?
Не трудись... Лучше запусти мой код, и убедись, что он работает.
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,189
04.08.2012, 19:50 #20
Цитата Сообщение от Catstail Посмотреть сообщение
Лучше запусти мой код, и убедись, что он работает.
запустил
первая же ошибка
#include "iostream.h"
потом не объявлено пространство имен
но это мелочи
вот что дает программа
х=1 2.71828
х=2 7.38906
х=3 20.0855
вопрос:
Что такое х? и чего мы считаем?

Добавлено через 1 минуту
Может это экспонента в степени?
0
Catstail
Модератор
22832 / 11198 / 1812
Регистрация: 12.02.2012
Сообщений: 18,439
04.08.2012, 20:29 #21
Цитата Сообщение от ValeryS Посмотреть сообщение
потом не объявлено пространство имен
- я работаю в MS VC++ 6.0 там пространство имен задавать не обязательно. Что до include, то да - в современных студиях рекомендуют использовать <..>

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

А за код с факториалами я бы снизил оценку на балл...
0
ValeryS
Модератор
6707 / 5116 / 482
Регистрация: 14.02.2011
Сообщений: 17,189
04.08.2012, 20:38 #22
Цитата Сообщение от Catstail Посмотреть сообщение
ex с задаваемой точностью (в примере - 10-14). В частности - если введешь 1, получишь e1 (что, естественно, равно просто e).
я правильно понял что 2.71828 это точность в четырнадцатом знаке?
и тема то про расчет экспоненты при использовании факториалов
Цитата Сообщение от Catstail Посмотреть сообщение
А за код с факториалами я бы снизил оценку на балл...
0
Catstail
Модератор
22832 / 11198 / 1812
Регистрация: 12.02.2012
Сообщений: 18,439
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;
}
0
Миниатюры
Расчет значения экспоненты  
04.08.2012, 20:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2012, 20:41
Привет! Вот еще темы с ответами:

Вычисление экспоненты - C++
помогите написать код нахождения значения экспоненты по формуле е=1+1/1!+1/2!+1/3!... На С++ с циклом while,please Добавлено через 1...

Степень отрицательной экспоненты - C++
Нужно возвести отрицательную экспоненту в степень a=(-e)(i+j)/35, i&gt;=0, j&gt;=0. При попытке организовать через pow выдаёт ошибку pow:...

Запись экспоненты по модулю - C++
Здравствуйте! Подскажите пожалуйста как написать экспоненту e в степени, где степень будет модуль |x-y| exp(fabs(x-y)) Не так?Я...

Ряд Тейлора. Разложение экспоненты - C++
Здравствуйте! Нуждаюсь в вашей помощи! Знаю на форуме таких тем около 20 если не больше, но все же! Вычислить значения функции,...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru