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

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

Войти
Регистрация
Восстановить пароль
 
planemar1
Сообщений: n/a
#1

Вычисление конечного произведения - C++

13.12.2012, 14:59. Просмотров 720. Ответов 1
Метки нет (Все метки)

Всем Доброго времени суток! Имеется задача: Вычислить произведение http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{n=1}^{k} (1+\frac{x^n}{2n!})
Я сделал данную программу, заведя отдельную функцию для n! и потом в main просто в цикле посчитал произведение, возводя x в степень с помощью pow. Так вот, препод сказал, что это не рационально, и нужно факториал и степень считать с помощью рекуррентного соотношения. Это получается нужно факториал, степень, да еще и сам подсчет произведения залепить в 1 цикл? Или я чего не понимаю. Накидал бредовый код, он не работает, естесственно. Помогите пожалуйста! Без использования pow.
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
#include <iostream>
using namespace std;
 
int main ()
{
    int k; double x, p=1, fact=1, b1, b2, b;
    cout <<"k = "; cin >>k;
    cout <<"x = "; cin >>x;
    b1=x; b2=x;
    if (k==0); // Рассматривание случаев <3 для вычисления степени
     if (k==1) b=x; // с помощью рекуррентного соотношения
      if (k==2) b=x*x;
    for (int i=1; i<=k; i++)
     { 
       fact*=i; // Подсчет факториала
       fact=fact*2; // Умножение полученного числа на 2
       i+=2; // Увеличение i до 3х на первом шаге цикла, для вычисления
       if (i<=k+1) // степени, с помощью рекуррентного соотношения
        {
          b=b1*b2;
          b2=b;
        } // Подсчет x^n
       i-=2; // Возвращение счетчику предыдущего значения
       p*=b/fact+1; // Подсчет
       cout <<b/fact+1; // произведения
       if (i<k) cout <<" * "; // Красявости, в виде знаков умножения между членами произведения
     } 
    cout <<" = " <<p;
    system ("pause");
   return 0;
}
Добавлено через 18 часов 9 минут
упс, накосячил в условии: там знак произведения, а не суммы) http://www.cyberforum.ru/cgi-bin/latex.cgi?\prod_{n=1}^{k}(1+\frac{x^n}{2n!})

Добавлено через 1 минуту
Сам допер) кому интересно
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
#include <iostream>
using namespace std;
 
int main ()
{
    int k; double x, p=1, fact=1, b1, b;
    cout <<"k = "; cin >>k;
    cout <<"x = "; cin >>x;
    b1=x;
    for (int i=1; i<=k; i++)
     {
       fact*=i;
       fact=fact*2;
       for (int n=i+2; n<=k+i; n++)
          {
            b=b1;
            b1=b*x;
            break;
          }
        p*=b/fact+1;
        cout <<b/fact+1;
        if (i<k) cout <<" * ";
        fact=fact/2;
      } 
    cout <<" = " <<p;
    system ("pause");
   return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2012, 14:59     Вычисление конечного произведения
Посмотрите здесь:

Вычисление конечного произведения - C++
Для заданного натурального k и действительного x подсчитать следующее выражение: P=\prod_{n=2}^{k}\left( 1+\frac{(-1)^n...

Вычисление суммы (произведения) конечного ряда + блок-схема - C++
Составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда. При разработке программы предусмот- реть...

Перевести с Pascal на C++. Вычисление суммы (произведения) конечного ряда. - C++
Программа вычисления суммы (произведения) конечного ряда. При разработке программы предусмотреть пропуск слагаемых (множителей), равных...

написать программу вычисления суммы (произведения) конечного ряд C++ - C++
написать программу вычисления суммы (произведения) конечного ряда. При разработке программы предусмотреть пропуск слагаемых (множителей),...

Составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда - C++
Задание : составить схему алгоритма и написать программу вычисления суммы (произведения) конечного ряда. При разработке программы...

Вычисление конечного значения - C++
Здравствуйте. Прошу у вас помощи с программой: // 515.cpp: определяет точку входа для консольного приложения. // #include...

Вычисление суммы конечного ряда - C++
1) Задача: Вычислить сумму конечного ряда сумма:k от 1 до 10 функция (-1)^k / k! 2) Дана последовательность чисел аi (i=1, 2, …,...

Вычисление конечного значения с определённой точностью - C++
Добрый вечер, уважаемые программисты. Хочу попросить у вас помощи с программой. Не могу понять, куда привязать точность. Спасибо!

Вычисление произведения - C++
Доброго время суток. Написать программу вычисления произведения: \prod_{1}^{\propto}\cos(\frac{\pi }{{2}^{(n+1)}}) = \frac{2}{\pi } ...

Вычисление произведения - C++
Здравствуйте. Мне проблема в том, что я не знаю как написать код по данным примерам. Не могли бы вы помочь, и скинуть литературу. ...

Вычисление произведения сумм - C++
t=\prod_{a=1}^{5}\sum_{b=1}^{10}cos\,ab Помогите пожалуйста я не очень знаю с++ буду благодарен

Вычисление произведения сумм - C++
t=\prod_{a=2}^{5}\sum_{b=1}^{5}{b}^{3}a Можете подсказать, правильно ли я код написал? #include &lt;iostream&gt; #include &lt;math.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
13.12.2012, 15:09     Вычисление конечного произведения #2
вот это:
Цитата Сообщение от planemar1 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
for (int n=i+2; n<=k+i; n++)
 {
 b=b1;
 b1=b*x;
 break;
 }
 p*=b/fact+1;
 cout <<b/fact+1;
можно заменить на:
C++
1
2
3
p*=b/fact+1;
cout <<b/fact+1;
b*=x;
Ответ Создать тему
Опции темы

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