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

C++

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.82
MrSharik
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 6
#1

Как посчитать сложный факториал? - C++

20.11.2009, 11:14. Просмотров 4176. Ответов 14
Метки нет (Все метки)

Вопрос конечно до безобразия скучный и неинтересный, хотя кто знает....Но, как мне посчитать вот эту сумму??? Проблема в том, что я не могу посчитать то что под знаком суммы, т.е вывести закономерность: на что нужно умножить прошлое число, чтобы получить следующее....чтобы потом его в цикл записать, типа в начале объявляем p=1, а потом в цикле p=p*(что-то). Если кто разбереться, то напишите, буду благодарен!


[IMG]http://www.imgup.ru/images_small/2pwx2064211.jpg[/IMG]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2009, 11:14     Как посчитать сложный факториал?
Посмотрите здесь:

C++ как отобразить факториал и сумму в microsoft visual c++
найти факториал всех чисел от 1 до 10 с шагом 2. Вычисление факториала реализовать как функцию C++
Как правильно инициализировать сложный объект? C++
Необходимо вернуть значение функции из Булевского значения и посчитать факториал C++
C++ Как высчитать факториал?
C++ Нужно вычислить факториал 33, 100 и 1000 как можно проще
C++ Как находят факториал?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
20.11.2009, 11:23     Как посчитать сложный факториал? #2
а до скольки считать надо а то указано до бесконечности
MrSharik
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 6
20.11.2009, 11:28  [ТС]     Как посчитать сложный факториал? #3
до 10, по условию.
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
20.11.2009, 11:42     Как посчитать сложный факториал? #4
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
#include <iostream>
using namespace std;
int factor(int a)
{
    int f=1;
    if (a%2==1)
    {       
       for(int i=3;i<=a;i+=2)
       {
          f*=i;
       }
    }
    else
    {
        for(int i=2;i<=a;i+=2)
       {
          f*=i;
       }
    }
    return f;
}
int main()
{
    float sum=0;
    int zn=-1;
    int x=2;
    float stepx=x*x;
    for (int k=2;k<=10;k++)
    {
        sum+=zn*factor(4*k-5)*stepx/factor(4*k);
        zn=-zn;
        stepx*=x;
    }
    cout<<sum<<"\n";
    system("pause");
}
вроде так надо
MrSharik
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 6
20.11.2009, 11:53  [ТС]     Как посчитать сложный факториал? #5
Ну ты Шумахер вообще!) Огромное спасибо!!!
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
20.11.2009, 12:02     Как посчитать сложный факториал? #6
Цитата Сообщение от MrSharik Посмотреть сообщение
Ну ты Шумахер вообще!) Огромное спасибо!!!
незачто
EnzoMatrix
20.11.2009, 12:13
  #7

Не по теме:

mamedovvms, там же можно было факториал по сути то и не считать...
если немного упростить,то в знаменателе будет просто (4k-4)(4k-3)(4k-2)(4k-1)(4k)

mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
20.11.2009, 12:17     Как посчитать сложный факториал? #8
можно было , но то что ты говоришь по моему не получится, так как в числители факториал нечетных, а в знаменателе факториал четных
EnzoMatrix
120 / 120 / 4
Регистрация: 14.03.2009
Сообщений: 462
20.11.2009, 12:26     Как посчитать сложный факториал? #9
а какая разница факториалы помоему в любом случае можно сократить
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
20.11.2009, 12:30     Как посчитать сложный факториал? #10
ну так попробуй при k=2
(1*3)/(2*4*6*8), а при k=3
(1*3*5*7)/(2*4*6*8*10*12) и что с чем будем сокращать????
а какая разница факториалы помоему в любом случае можно сократить
факториал можно, а вот такой не знаю
EnzoMatrix
120 / 120 / 4
Регистрация: 14.03.2009
Сообщений: 462
20.11.2009, 12:33     Как посчитать сложный факториал? #11
при к=2 получим 3!/8!, а это чтото не совсем (1*3)(2*4*6*8)
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
20.11.2009, 12:42     Как посчитать сложный факториал? #12
вообще то формула (4*k-5)!!/(4*k)!!
а если вам известно ! и !! это не совсем одно и тоже
EnzoMatrix
120 / 120 / 4
Регистрация: 14.03.2009
Сообщений: 462
20.11.2009, 12:42     Как посчитать сложный факториал? #13
упс, извиняюсь, не заметил, что там два факториала
mamedovvms
2915 / 836 / 93
Регистрация: 30.04.2009
Сообщений: 2,615
20.11.2009, 12:44     Как посчитать сложный факториал? #14
Цитата Сообщение от EnzoMatrix Посмотреть сообщение
упс, извиняюсь, не заметил, что там два факториала
ну бывает , а я Вас понять не мог, а оказывается мы говорили о разных формулах
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2009, 00:04     Как посчитать сложный факториал?
Еще ссылки по теме:

C++ Как в языке С++ обозначить факториал?
Как использовать двойной факториал в С++ с использованием только if и for? C++
C++ Как задать факториал?
Как вычислять факториал таких больших чисел, как 1000 C++
Как посчитать факториал большого числа, если диапазон типа данных (int) ограничен? C++

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

Или воспользуйтесь поиском по форуму:
Том Ардер
Модератор
Эксперт по математике/физике
3688 / 2301 / 283
Регистрация: 15.06.2009
Сообщений: 4,050
21.11.2009, 00:04     Как посчитать сложный факториал? #15
Цитата Сообщение от EnzoMatrix Посмотреть сообщение

Не по теме:

mamedovvms, там же можно было факториал по сути то и не считать...
если немного упростить

Рекуррентное соотношение для слагаемых ряда легко получить, используя определение бифакториала:
(4*(k+1)-5)!! = (4*k-1)!! = (4*k-1)*(4*k-3)*(4*k-5)!!
(4*(k+1))!! = (4*k+4)!! = (4*k+4)*(4*k+2)*(4*k)!!

Отсюда

A[k+1] = -A[k]*(4*k-1)*(4*k-3)/((4*k+4)*(4*k+2)) *x, k = 2, 3, ...

A[2] = (1*3)/(2*4*6*8)

Окончательную сумму умножить на (x*x)
Yandex
Объявления
21.11.2009, 00:04     Как посчитать сложный факториал?
Ответ Создать тему
Опции темы

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