Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2010, 19:18   #1
bloodargus
 
Регистрация: 07.10.2010
Сообщений: 6
Стрелка Как посчитать факториал числа в формуле?

В общем есть задание
нужно вычислить сумму бесконечного ряда, но загвостка не в это.
дело в том что в каждой дроби нужно делить на какойто факториал , вот у меня вопрос : как лучше посчитать его ? есть предположение что через цикл , но тут же другой вопрос : как лучше сделать?и как вставить в код?
bloodargus вне форума Ответить с цитированием
Старый 07.10.2010, 19:56   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Парочка вариантов на выбор:
Код:
int fact1(int n)
{
int a = 1;
for (int i = 0; i <= n; i++)
 a *= i;
return a;
}

int fact2(int n)
{
return (n > 1) ? (n * fact2(n - 1)) : 1;
}
P.S. А вообще, вам это не нужно. У вас же есть рекуррентное соотношение:
Код:
a[i] == a[i - 1] * (-1) * (z * z / 2) / (i * (3 + 2 * i))
a[1] == (z * z / 2) / 5
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же

Последний раз редактировалось Гром; 07.10.2010 в 20:00.
Гром вне форума Ответить с цитированием
Старый 07.10.2010, 22:04   #3
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

Гром, мои аплодисменты! Маленькое уточнение: в рекуррентном соотношении лучше использовать a[0] = 1;
sergey.d вне форума Ответить с цитированием
Старый 07.10.2010, 22:19   #4
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

sergey.d, по идее да, но в данном случае это либо не подходит, либо в формуле неточность. Т.к. если a[0] == 1, то a[1] в знаменателе должно содержать 3, а не 5, в чем, собственно, и нестыковка. Если же a[0] == 1/3, тогда все нормально, и начинаем именно с него.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 09.10.2010, 11:27   #5
bloodargus
 
Регистрация: 07.10.2010
Сообщений: 6
По умолчанию

всем спасибо
bloodargus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Факториал числа ProgramerBeatz Паскаль, Turbo Pascal, PascalABC.NET 3 11.05.2011 19:05
Факториал числа(паскаль) Кьюби Помощь студентам 2 01.04.2010 09:38
Даны натуральные числа m,n. Посчитать сумму m последнего числа n. лялька Паскаль, Turbo Pascal, PascalABC.NET 6 25.12.2008 15:22
Факториал от дробного числа RIO Помощь студентам 11 26.12.2007 18:36