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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
№1
2 / 2 / 0
Регистрация: 15.03.2011
Сообщений: 19
#1

Дано вещественное число X и целое число N (> 0). Вывести 1 + X + 2X/2! + ... + XN/N!. - C++

18.03.2011, 10:52. Просмотров 2792. Ответов 12
Метки нет (Все метки)

Помогите решить задачу в C++ (Visual С++ 9.0 Express Edition, 2008).

Дано вещественное число X и целое число N (> 0). Вывести 1 + X + 2X/2! + ... + XN/N!. Полученное число является приближенным значением функции exp в точке X.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2011, 10:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Дано вещественное число X и целое число N (> 0). Вывести 1 + X + 2X/2! + ... + XN/N!. (C++):

Дано вещественное число A и целое число N. Вывести A в степени N (код внутри) - C++
Дано вещественное число A и целое число N (N больше 0). Вывести A в степени N: AN =A•A•...•A (числа A перемножаются N раз). Использовать...

Дано вещественное число A и целое число N (> 0). Используя один цикл, вывести все целые степени числа A - C++
Дано вещественное число A и целое число N (> 0). Используя один цикл, вывести все целые степени числа A от 1 до N.

Дано вещественное число A и целое число N (> 0). Найти A в степени N - C++
Дано вещественное число A и целое число N (> 0). Найти A в степени N: AN = A•A• … •A (числа A перемножаются N раз).

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. - C++
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

Дано вещественное число A и целое число N (> 0) - C++
Дано вещественное число A и целое число N (> 0). Вывести 1 – A + A2 – A3 + ... + (–1)NAN.

Дано вещественное число A и целое число N - C++
Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + ... + AN. Begin85. Дано вещественное число A и целое число N (>...

12
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
18.03.2011, 12:25 #2
Формула немного неправильная: разложение экспоненты в ряд будет иметь следующий вид:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{n = 0}^{\infty}\frac{x^n}{n!} - в цикле для n от 0 до N высчитываешь значения http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{x^n}{n!} и суммируешь их
0
Day
1158 / 963 / 57
Регистрация: 29.10.2009
Сообщений: 1,385
18.03.2011, 14:56 #3
C
1
2
3
4
for(i=1, s=1, a=1; i<=N; i++) {
    a *= x/i;  // Очередной член ряда
    s += a;   // Частичная сумма
}
0
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
18.03.2011, 16:02 #4
Цитата Сообщение от Nameless One Посмотреть сообщение
Формула немного неправильная: разложение экспоненты в ряд будет иметь следующий вид:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{n = 0}^{\infty}\frac{x^n}{n!} - в цикле для n от 0 до N высчитываешь значения http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{x^n}{n!} и суммируешь их
Nameless One, от n до бесконечности

Добавлено через 17 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <conio.h>
#include <math.h>
#include <windows.h>
const float pi=3.1415;
int fact(unsigned int n)
{return n<=1 ? 1 : n*fact(n-1);}
void fullscr(){
     keybd_event(VK_MENU,0x38,0,0);
     keybd_event(VK_RETURN,0x1c,0,0);
     keybd_event(VK_RETURN,0x1c,KEYEVENTF_KEYUP,0);
     keybd_event(VK_MENU,0x38,KEYEVENTF_KEYUP,0);}
int main(){
     fullscr();
     double x; int n, summ=0;
     std::cout<<"Input X: "; std::cin>>x;
     std::cout<<"Input N: "; std::cin>>n;
     for(int i=1;i<n+1;i++){summ+=pow(x,n)/fact(n);std::cout<<"\n Iterator "<<i<<" : "<<summ;}
     getch();
     return 0;}
1
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
18.03.2011, 16:12 #5
Цитата Сообщение от instagib Посмотреть сообщение
Nameless One, от n до бесконечности
Что-что? Насчет rtfm - почитай про ряды Тейлора и, в частности, про ряды Маклорена.
А про твою программу - сумма у тебя считается дюже неэффективно. См. вариант от Day.
1
silent_1991
Эксперт С++
4985 / 3042 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
18.03.2011, 16:21 #6
instagib, во-первых, от нуля до бесконечности. Во-вторых, Nameless One сказал, как сделать так, чтобы программа удовлетворяла заданию - считать до введённого N. Бесконечности мы не достигнем всё равно, как бы не старались.

Добавлено через 1 минуту

Не по теме:

А вы уже и без меня всё порешали)))

1
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
18.03.2011, 16:39 #7
Цитата Сообщение от Nameless One Посмотреть сообщение
Формула немного неправильная: разложение экспоненты в ряд будет иметь следующий вид:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{n = 0}^{\infty}\frac{x^n}{n!} - в цикле для n от 0 до N высчитываешь значения http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{x^n}{n!} и суммируешь их
это говорит что от n=0 до бесконечности..я об этом
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
18.03.2011, 16:47 #8
Цитата Сообщение от instagib Посмотреть сообщение
... говорит что это сумма ряда от n=0 до бесконечности.
Так и есть, т.к. разложение функции http://www.cyberforum.ru/cgi-bin/latex.cgi?f(x) \, = \, e^x в ряд Маклорена будет как раз-таки иметь вид суммы от нуля до бесконечности, а не "от n до бесконечности".
Другое дело, что бесконечную сумму посчитать невозможно (численными, а не аналитическими методами), поэтому мы считаем приближенное значение функции через N-ную частичную сумму ряда Маклорена, что также было отражено в моем сообщении.
Я думаю, мы друг друга поняли (по крайней мере, я понял то, что ты хотел сказать).
0
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
18.03.2011, 16:50 #9
Nameless One, безусловно.
0
LHammer
Сообщений: n/a
15.03.2012, 16:25 #10
Day, пришли полный код пожалуйста
zss
Модератор
Эксперт С++
6486 / 6049 / 1986
Регистрация: 18.12.2011
Сообщений: 15,690
Завершенные тесты: 1
15.03.2012, 16:49 #11
Цитата Сообщение от LHammer Посмотреть сообщение
Day, пришли полный код пожалуйста
А это и есть почти полный код. Осталось только вывести s.
0
Alexs_SiDD
0 / 0 / 0
Регистрация: 24.12.2014
Сообщений: 4
25.12.2014, 09:08 #12
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    double x, sum, a = 0;
    int n, f = 1, z = -1;
    cout << "x = ";
    cin >> x;
    cout << "n = ";
    cin >> n;
    sum = x;
    if (n == 0)
    {
        cout << "sum = 1";
        _getch();
        return 0;
    }
    if (n == 1)
    {
        sum = x;
        cout << sum;
        _getch();
        return 0;
    }
    if (n % 2 == 0)//ТЕЛО ПРОГРАММЫ
        cout << "НЕВЕРНО ВВЕЛИ ДАННЫЕ!!! " << endl << "sum = FELS";
    for (int i = 3; i <= n;i++)
    {
        if (n > 1)
        f = f*(f + 1)*(f + 2);
 
        a = pow(x, i);
        sum -= z*(a / f);
        z *= (-1);
        i++;
    }
        cout << sum;
        _getch();
        return 0;
    
}
0
zss
Модератор
Эксперт С++
6486 / 6049 / 1986
Регистрация: 18.12.2011
Сообщений: 15,690
Завершенные тесты: 1
25.12.2014, 10:37 #13
Alexs_SiDD,
1. Полезно посмотреть, что написано в теме до Вас, в частности пост №3.
2. Проверить, действительно ли Ваш алгоритм решает указанную задачу
(а не какую-то слегка похожую)
И только после этого выкладывать
0
25.12.2014, 10:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2014, 10:37
Привет! Вот еще темы с ответами:

Дано вещественное число a, целое n. Вычислить: a (a-1) (a-2).(a-n) - C++
////

Дано вещественное число N(>0). Если N - нечетное число, то вывести произведение 1*3*...*N, если N - четное число, то вывести произведение 2*4*...*N - C++
Привет ВСЕМ!!! Помогите пожалуйста с задачкой =) Дано вещественное число N(&gt;0). Если N - нечетное число, то вывести произведение...

Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число - C++
Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число. ...

Дано вещественное число A (> 1). Вывести наименьшее из целых чисел N C++ - C++
Дано вещественное число A (&gt; 1). Вывести наименьшее из целых чисел N, для которых сумма 1 + 1/2 + ... + 1/N будет больше A, и саму эту...


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

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

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