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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2013, 19:38   #1
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию факториал

не могу понять как записать этот пример в цикле? объясните...
№4,15
Изображения
Тип файла: jpg Безымянный.jpg (76.8 Кб, 123 просмотров)
Diana528 вне форума Ответить с цитированием
Старый 19.09.2013, 19:41   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Формула не разборчивая. Очень мелко.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 19.09.2013, 19:49   #3
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

вот так пойдет?
Изображения
Тип файла: jpg Безымянный.jpg (67.2 Кб, 120 просмотров)
Diana528 вне форума Ответить с цитированием
Старый 19.09.2013, 20:25   #4
Ouroboros-SK
Новичок
Джуниор
 
Аватар для Ouroboros-SK
 
Регистрация: 08.09.2013
Сообщений: 2
По умолчанию

accuracy - точность.
Код:
int fac(const int& a)
{
  if(N < 0) 
        return 0;
    if (N == 0)
        return 1; 
    else
        return N * fact(N - 1);
}

double f = 0.0;
for (int n = 0; n < accuracy; i++)
  f += ( pow(-1, n) * pow(x, 2) ) / fac(2 * n);
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.

Последний раз редактировалось Ouroboros-SK; 19.09.2013 в 20:27.
Ouroboros-SK вне форума Ответить с цитированием
Старый 19.09.2013, 20:35   #5
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

ничего не поняла(( есть другой вариант попроще?
Diana528 вне форума Ответить с цитированием
Старый 19.09.2013, 20:38   #6
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

запрещено в задании использовать готовый факториал
Diana528 вне форума Ответить с цитированием
Старый 19.09.2013, 20:45   #7
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Ouroboros-SK
Рекурсия - это, конечно хорошо, но имейте ввиду, что факториал очень быстро растет с ростом аргумента, и результат может не влезть в тип int. Уже при 13 : 13! = 6227020800

Diana528
Если запрещено, то надо следующее слагаемое вычислять через предыдущее. Так и быстрее будет вычисление.
type_Oleg вне форума Ответить с цитированием
Старый 19.09.2013, 20:57   #8
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

что не так в этом коде?


Код:
#include <iostream>
#include <cmath>
using namespace std;

double ryad(double x, int n) {
    double sum = 0, a;

    for (int i = 0; i <= n; i++) {
        a=a*(-1)*x/(2*i)*(2*i-1);  
        sum = sum + a;
    }

    double y1;
    y1 = sum;
    return y1;
}

main()
{

cout<<"vvedite x"<<endl;
int x;
cin>>x;
cout<<"vvedite n"<<endl;
int n;
cin>>n;

double y1, y2 = x*cos(pow(x,0.5));
y1 = ryad(x, n);


cout<<"y1= "<<y1<<" y2= "<<y2<<endl;
system("pause");
}
Diana528 вне форума Ответить с цитированием
Старый 19.09.2013, 22:58   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может так?:
Код:
double ryad(double x, int n) {
    double sum = 0, a;

    for (int i = 0,x=1,uno=-1,n2=1; i <= n; i++) {
        x*=i+1;
        uno*=-1;
        n2*=2*i;
        sum +=  x*uno/n2;
    }
    return sum;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.09.2013, 23:17   #10
Igor95
Форумчанин
 
Регистрация: 03.01.2013
Сообщений: 388
По умолчанию

Код:
a=a*(-1)*x/(2*i)*(2*i-1);
При i == 0 у Вас будет деление на ноль.
Igor95 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить факториал числа п. Факториал числа представить в виде целочисленного массива десятичных цифр. M1kefly Общие вопросы C/C++ 1 07.07.2013 21:00
факториал artscorp Помощь студентам 2 10.05.2011 22:23
Факториал artscorp Помощь студентам 7 10.05.2011 19:54
C++ (факториал) slim>>> Помощь студентам 2 13.01.2010 20:34
Факториал. dimka660i Помощь студентам 11 10.10.2009 23:28