Binomial coefficient C#

Binomial coefficient C#

Ce que l’on appelle un Coefficient binomial en deux façons, un symbole de la Newton ?

Parfois, une situation où nous avons besoin de déterminer le nombre de combinaisons des éléments de la collection. Il s’agit d’une situation que, contrairement aux apparences, il arrive très souvent, mais pas toujours, il est nécessaire de faire des calculs, et les décisions sont prises de manière intuitive.

Par exemple, vous pouvez envisager plusieurs situations où le choix est fait :

-A publié une série de 4 cartes à collectionner des athlètes célèbres, et nous pouvons nous permettre que 2 d’entre eux. Avec ce jeu que vous pouvez choisir les numéros de la carte {1,2}, {1,3}, {1,4}, {2, 3}, {2,4}, {3,4}, et donc nous pouvons faire des choix différents 6.

-Favourite game numéro tire 5 numéros non répétitif de 60 disponibles. Le nombre de combinaisons est beaucoup plus grand que dans l’exemple précédent et imprimer tout cela prendrait beaucoup de place dans cet article.

-L’entreprise emploie 100 personnes, et la moitié d’entre eux recevront plus tôt ce mois-ci. Combien de combinaisons d’employés peuvent vérifier ici se pour produire ? Beaucoup d’employeurs reflète pas sur cette question et faire votre propre ventilation.

La définition du Coefficient Binomial

Que se passe-t-il si, toutefois, nous aimerions savoir combien nous vraiment choix et quels sont-ils ? Puis, avec la formule définie par Newton, appelé coefficient Binomial ou binomial. Il s’agit d’une fonction de deux arguments qui sont des entiers. La solution est symbole de Newton, le nombre de combinaisons possibles de votre choix peuvent être obtenus en sélectionnant les éléments de k dans un ensemble de n éléments ensemble. La définition du modèle est comme suit :

Symbol_Newtona coefficient binomial-binomiale

Le résultat du symbole de Newton dans le code

Le code présenté représente la solution à la formule ci-dessus, sans l’utilisation de la récursivité pour les forts. Il est appliqué dans la relation qui est créée au moment du compteur de pièces avec plus de raccourcissement du produit du dénominateur. Des précisions sur un exemple particulier devraient dissiper les doutes. Compteur en symbole de Newton va toujours être plus grande que le dénominateur. Sélection de n = 8 et k = 5, vous obtenez une fraction :

symbol_newtona_przykład coefficient binomial-binomialeRéduire le compteur (8!) avec un facteur plus élevé du dénominateur (5!), nous obtenons :

-au numérateur 6 * 7 * 8 (car 1 * 2 * 3 * 4 * 5 sera raccourcie),

-à utiliser dans le dénominateur de 1 * 3 ! (donc 1 * 2 * 3).

Dans le code suivant, le numéro 1 est multiplié par un autre valeurs de compteur (6 * 7 * 8) et divisé par les éléments suivants du dénominateur (1 * 2 * 3). Cette relation simplifie l’entrée et le code de travail pour une condition et une boucle.

Combinaisons de code de groupe

Parfois, informations sur le nombre de combinaisons possibles ne sont pas suffisantes et nous aimerions savoir quels sont les éléments qu’ils représentent. Le code est relativement simple dans le cas où c’est le nombre d’éléments qui a tirer et combien est disponible. La situation se complique lorsque la fonction est censée pour être universelle et utile pour toutes les valeurs.

Voici le code pour la fonction qui obtient la déjà présenté les paramètres n et k et retourne un tableau de tableaux. Retourne un tableau d’un tableau typé stocké dans chaque ligne avec les valeurs d’appartenance au groupe. Les lignes, donc vous pouvez interpréter comme juste un autre du groupe et de leurs colonnes est dessiné en eux.

L’algorithme doit être éclairci, mais les grenouilles mieux comprennent il s’ensuit également l’exemple de n = 6, k = 4.

Définir les valeurs dessinés se fait dans le tout en boucle. Son premier appel stocke groupe initialement défini (1, 2, 3,…, k-dans notre exemple 1, 2, 3, 4). Les appels suivants à la boucle augmente le dernier élément dans le tableau d’origine, jusqu’à la valeur maximale égale à n là-dessus (c.-à-d.-> 1, 2, 3, 5-> 1, 2, 3, 6). Lorsque cette valeur, la variable est décrémentée de 1, ce qui crée une référence à un élément avec un indice inférieur (à ce stade, c’est la valeur de la position 3 égal à 3, qui passe à 4). Éléments avec des indices plus d’elle sont incrémentés de 1 à l’égard d’une nouvelle variable (1,2 restent inchangés, 4 modifié il y a un instant et les éléments suivants 4 + 1 = 5, qui donne un autre groupe de 1, 2, 4, 5), et la variable p est encore une valeur de k pour que la référence au dernier élément.

Faisant référence à des éléments avec des indices plus et plus petits s’effectue lorsque le dernier élément prend la valeur maximale de plus d’une fois, pour les éléments consécutifs (par exemple. pour la première fois pour un groupe de 1, 2, 4, 6, où p est réduit à 3, la deuxième fois 1, 2, 5, 6, où p est réduite à 2). Le dernier groupe de réduire la variable à 0 et Merci et nous compteur que c’est la dernière des combinaisons possibles.

Afficher toutes les combinaisons

Le code suivant a été introduit dans le collecteur d’une chaîne de données variables sur la composition des groupes et leur numérotation d’une manière agréable à le œil humain :

1-1 2 3 4 5
2-1 2 3 4 6
3-1 2 3 4 7
4-1 2 3 4 8
….

Loading Facebook Comments ...

Laisser un commentaire

Or