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

Функция комбинаторики.... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ задачи на текст и массивы http://www.cyberforum.ru/cpp-beginners/thread29376.html
Помогите пожалуйста с лабораторкой. Я больше по Паскалю, а в Си плаваю, и очень мелко... 1. Ввести с клавиатуры предложение. Удалить из него слово, номер которого задаст пользователь. Если слов меньше, оповестить об ошибке. 2. Сформировать массив из 50 случайных чисел которые входят в промежуток А..В. Распечатать его, потом удалить из него нечетные элементы (со сдвигом), снова распечатать...
C++ Описать функцию, что возвращает процент от введенного в качестве аргумента числа функцию, которая возвращает процент, от введенного в качестве аргумента целого положительного числа. Вводимые данные: Число. Результат: Процент от введенного числа. Указания: Вычисление организовать с использованием функции. Функция должна проверять правильность полученных данных, и в случае ошибки возвращать -1. #include <stdio.h> #include <conio.h> #include <math.h> int percent (int x,... http://www.cyberforum.ru/cpp-beginners/thread29374.html
Найти сумму и количество чисел массива, находящихся между минимальным и максимальным элементами C++
Помогите пожалуйста с задачей: "В массиве из 20 целых чисел найти сумму и количество чисел, находящихся между минимальным и максимальным элементами, включая и сами эти числа." Если возможно, то помощь нужна сегодня. Заранее огромное спасибо.
C++ Удвоить каждую букву
Здравствуйте всем. С++. Пытаюсь написать программу. Возможно это что-то элементарное, но не получается. Необходима ваша помощь. Растолкуйте, как удвоить каждую букву.Вот моё творение. Задача: Удвойте каждую букву в заданном тексте. //Udwoenie #include<stdio.h> #include<conio.h> void main() {
C++ Курсовая по информатике(сам в С++ пока полный "0") http://www.cyberforum.ru/cpp-beginners/thread29350.html
1. Информация о температуре воздуха за месяц задана в виде массива. Определить, сколько раз температура опускалась ниже 0°С. 2.Известно, что в Москве самыми теплыми являются дни с 15 июля по 15 августа. Для проведения фестиваля были выбраны 7 следующих подряд дней, наиболее теплых по данным за последние 10 лет. Составить программу для выполнения этой работы на ЭВМ. 3.Японская радиокомпания...
C++ Oткомпилируйте, пожалуйста, программу. Уважаемые программисты, пользователи, откомпилируйте, пожалуйста, программу. Пока сам не имею возможности. Буду очень благодарен. Мой е-майл djumlatun@hotmail.com #include <iostream.h> #include <math.h> void main(void) // Моя первая программа {int a; b; c; D; x; x1; x2; cout << "Решение квадратного уравнения" << endl << "Введите переменные a, b и c" << endl; cin >> a >> b >> c;... подробнее

Показать сообщение отдельно
sigmaalgebra
 Аватар для sigmaalgebra
9 / 9 / 0
Регистрация: 15.03.2009
Сообщений: 76
09.04.2009, 21:53     Функция комбинаторики....
С(n,k)=n!/[(n-k)!k!] Хотим преобразовать так, чтобы было покороче. Тогда C(n,k)=[(k+1)*(k+1)*...*(n)]/k! либо если число (n-k)<k то сокращать надо с k: C(n,k)=[(n-k+1)*(n-k+2)*...*(n)]/(n-k)! Тогда программа будет выглядеть примерно так:

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
int faq(int n)
{
   int del=1,i=0;
   for(i=1;i<=n;i++)
   del=del*i;
   return del;
}
 
int C_n_k(int n,int k)
{
    int i=0,rez=1;del=1;
    if((n-k)<k)
    {
        for(i=1;(n-k-i)<=n;i++)
        {
            rez=rez*(n-k+i); 
        }
        del=faq((n-k));
        rez/=del; 
    }
    else
    {
       for(i=k+1;i<=n;i++)
           rez*=i; 
       del=faq(k);
       rez/=del; 
    }
    return rez;
}
примерно так. Я не тестила, не знаю как там на больших числах... Но вроде тут и без длинной арифметики можно обойтись.

Добавлено через 2 минуты 13 секунд
А вообще то наверное нет. Тут слабость в функции faq. Наверное надо пытаться в выдислении rez в цикле со множителями сокращать... Не знаю..
 
Текущее время: 07:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru