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

Биномиальные коэффициенты - C++

Восстановить пароль Регистрация
 
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
28.02.2014, 19:10     Биномиальные коэффициенты #1
Мне задали создать программу в которой Вводится 2 числа - n и k. И Необходимо вывести биномиальные коэффициенты. Но к сожалению Я не понял что такое "Биномиальные коэффициенты".
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,197
Завершенные тесты: 1
28.02.2014, 19:24     Биномиальные коэффициенты #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
А для чего существует Яндекс:
http://yandex.ru/yandsearch?text=%D0...1909644&lr=213

C++
1
2
3
4
5
6
7
8
9
10
11
int factor(int n)
{
    int r=1;
    for(int i=2;i<=n;i++)
         r*=i;
    return r;
}
int BinomKoeff(int n,int k)
{
    return factor(n)/factor(k)/factor(n-k);
}
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
28.02.2014, 19:38  [ТС]     Биномиальные коэффициенты #3
zss, спасибо, но Ваш результат не был довольно таки точным, какой был нужен мне.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
double factor(double n)
{
    double r = 1;
    for (double i = 2; i <= n; i++)
        r *= i;
    return r;
}
double BinomKoeff(double n, double k)
{
    return factor(n) / factor(k) / factor(n - k);
}
int main()
{
    double x, y;
    cin >> x >> y;
    cout << BinomKoeff(x, y);
    return 0;
}
Чуток подправил.
zss
Модератор
Эксперт С++
 Аватар для zss
5950 / 5555 / 1787
Регистрация: 18.12.2011
Сообщений: 14,197
Завершенные тесты: 1
28.02.2014, 19:51     Биномиальные коэффициенты #4
Тогда уж
C++
1
2
3
4
5
6
7
8
9
double factor(int n)
{
    if(n>10)
      return sqrt(2.*M_PI*n)*pow(n/M_E,n);// Формула Стирлинга
    double r = 1.;
    for (int i = 2; i <= n; i++)
        r *= i;
    return r;
}
kasadi
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 65
28.02.2014, 20:30  [ТС]     Биномиальные коэффициенты #5
Цитата Сообщение от zss Посмотреть сообщение
Тогда уж
Код C++
1
2
3
4
5
6
7
8
9
double factor(int n)
{
if(n>10)
return sqrt(2.*M_PI*n)*pow(n/M_E,n);// Формула Стирлинга
double r = 1.;
for (int i = 2; i <= n; i++)
r *= i;
return r;
К сожалению, с формулой Стирлинга точность вычисления уменьшилась.
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
#define _USE_MATH_DEFINES
#include <cmath>
#include <iostream>
using namespace std;
double factor(double n)
{
    if (n>10)
        return sqrt(2.*M_PI*n)*pow(n / M_E, n);// Формула Стирлинга
    double r = 1.;
    for (double i = 2; i <= n; i++)
        r *= i;
    return r;
}
double BinomKoeff(double n, double k)
{
    return factor(n) / factor(k) / factor(n - k);
}
int main()
{
    double x, y;
    cin >> x >> y;
    cout << BinomKoeff(x, y);
    return 0;
}
Yandex
Объявления
28.02.2014, 20:30     Биномиальные коэффициенты
Ответ Создать тему
Опции темы

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