Comment simplifier des fractions en C#?
Je suis à la recherche d'une bibliothèque ou d'un code existant pour simplifier des fractions.
Quelqu'un aurait-il tout à portée de main ou de liens?
P. S. j'ai déjà comprendre le processus mais vraiment pas envie de réécrire la roue
Mise à jour
Ok j'ai vérifié le fraction de la bibliothèque sur le CodeProject
MAIS le problème que j'ai est un peu plus difficile que la simplification d'une fraction.
Je dois réduire un répartition du pourcentage qui pourrait être de 20% /50% /30% (toujours égale à 100%)
- Ainsi, le pourcentage de partage pourrait être de 2 voies, 3 voies ou plus
- Chacun de pourcentage dans la fraction de toujours être un nombre entier compris entre 0 à 100? Si si j'ai une réponse pour vous.
- oui, ils seront des entiers de 0 à 100
- Ouais presque terminé, maintenez - être comme 5-6 minutes 😉
Vous devez vous connecter pour publier un commentaire.
Je pense que vous avez juste besoin de diviser par le PGCD de tous les numéros.
Je n'ai pas testé le code, mais il semble assez simple pour être juste (en supposant que vos numéros sont tous les entiers positifs et vous ne passez pas d'un tableau vide).
Simplify
est également facile à comprendre. +1Vous pouvez utiliser Microsoft.FSharp.Les mathématiques.BigRational, qui est dans le libre F# Power Pack de la bibliothèque. Bien que cela dépend de F# (qui est gratuit et inclus dans VS2010), il peut être utilisé à partir de C#.
Une solution personnalisée:
Exemple d'utilisation:
Outupts:
Par la voie, c'est mon premier programme c#. Pensé qu'il pourrait être simplement un problème amusant d'essayer une nouvelle langue avec, et maintenant je suis en amour! C'est comme Java, mais tout ce que je souhaite est un peu différent, c'est exactement comment je voulais qu'il
<3 c#
Edit: Btw, n'oubliez pas de le faire static void si c'est pour votre classe Principale.
{2, 98}
. En outre, plutôt que d'essayer de le diviser par tous les entiers <= 50, vous devriez utiliser votre liste des premiers. Ensuite, vous pouvez construire un PGCD et faire la division de la boucle qu'une seule fois.cur % divideBy != 0
pour vérifier l'indivisibilité, et depuis le tableau n'a qu'une dimension, vous pouvez utilisernumbers.Length
pour obtenir le nombre d'éléments.Cette bibliothèque dirait qu'il pourrait être ce dont vous avez besoin:
Bien, je ne l'ai pas testé, donc il semble que vous devrez peut-être jouer un peu avec elle pour le faire fonctionner.
Le meilleur exemple de Fraction (aka Rationnelle) que j'ai vu est dans Timothy Budd "Classique Structures de Données en C++". Sa mise en œuvre est très bon. Il comprend une simplicité de mise en oeuvre de l'algorithme de PGCD.
Il ne devrait pas être difficile de s'adapter à C#.