static void Count(Fractions a, Fractions x, Fractions y) { int nok = NOK(a.den, x.den); y.den = nok; y.num = Comm(a.num, a.den, nok) - Comm(x.num, x.den, nok); }
//Simplifying fractions(Упрощение дроби) static void SetSimply(Fractions y) { int nod = NOD(y.den, y.num); y.den = y.den / nod; y.num = y.num / nod; }
//Получение целого static void GetInteger(Fractions y) { for (int i = 0; y.num > y.den; y.integer = ++i) { y.num -= y.den; } }
static void Main(string[] args) { #region Дроби int a1; int b1; int a2; int b2; #endregion //Hello Console.WriteLine("Привет! Данная программа поможет" + "осуществить вычисления между дробями"); Console.Write("Введите числитель первой дроби: "); int.TryParse(Console.ReadLine(), out a1); Console.Write("Введите знаменатель первой дроби: "); int.TryParse(Console.ReadLine(), out b1); Console.Write("Введите числитель второй дроби: "); int.TryParse(Console.ReadLine(), out a2); Console.Write("Введите знаменатель второй дроби: "); int.TryParse(Console.ReadLine(), out b2); Fractions frs1 = new Fractions(a1, b1); Fractions frs2 = new Fractions(a2, b2); Fractions frs3 = new Fractions(); frs3 = frs1.Plus(frs2); frs3.ShowRes(); frs3 = frs2.Minus(frs1); frs3.ShowRes(); frs3 = frs2.Multiplication(frs1); frs3.ShowRes(); frs3 = frs2.Division(frs1); frs3.ShowRes(); Console.ReadLine(); }
/// <summary> /// Calculates the fraction portion of arithmetic equation /// </summary> /// <param name="numD">D's numerator</param> /// <param name="denD">D's denominator</param> /// <param name="d">Value of D</param> /// <param name="a">Value of A</param> /// <param name="sum">Value of sum</param> /// <param name="numA">Store for A's numerator value as a reference value</param> /// <param name="denA">Store for A's denominator value as a reference value</param> public static void CalctulateFraction(double numD, double denD, double d, double a, double sum, ref double numA, ref double denA) { Fractions.CalculateFraction(new double[] { numD, d }, new int[] { (int)denD, 1 }, ref numA, ref denA, '*'); Fractions.Shorten(ref numA, ref denA); Fractions.CalculateFraction(new double[] { sum, -numA }, new int[] { 1, (int)denA }, ref numA, ref denA, '+'); Fractions.CalculateFraction(new double[] { numA, a }, new int[] { (int)denA, 1 }, ref numA, ref denA, '/'); }
//Realize methods (Методы вычислений) public Fractions Plus(Fractions x) { Fractions y = new Fractions(); Console.WriteLine("Сумма дробей: "); if (den == x.den) { y.den = den; y.num = num + x.num; } //We need to set all fractions to one denominator else { //find equal denominator int EqualDen = 0; for (int i = 1; i % den != 0 | i % x.den != 0; EqualDen = ++i) { ; } //reduce to a common denominator y.num = (num * (EqualDen / den)) + (x.num * (EqualDen / x.den)); y.den = EqualDen; } //simplifying fractions SetSimply(y); GetInteger(y); return(y); }
static bool Validate(string buffer, out float?amountLow, out float amountHigh) { decimal resultHigh; amountLow = null; var parts = buffer.Split('-'); //Look for potential range if (parts.Length == 1) { if (Fractions.TryParseFraction(buffer, out resultHigh)) { amountHigh = (float)resultHigh; return(true); } } if (parts.Length == 2) { decimal resultLow; if (Fractions.TryParseFraction(parts[0], out resultLow) && Fractions.TryParseFraction(parts[1], out resultHigh)) { amountLow = (float?)resultLow; amountHigh = (float)resultHigh; return(true); } } amountHigh = 0; return(false); }
public void VerifyIrrationalGetsRightResult() { Fractions.Fraction actual = Fractions.RealToFraction(3.14159); actual.N.Should().Be((int)238_010); actual.D.Should().Be((int)75_761); }
static void Main(string[] args) { Fractions myF = new Fractions(107.6372); myF.ShowParts(); Console.ReadKey(); }
public override void Establish(Unit unit) { myFraction = unit.Fraction; parentID = unit.ID; weapon.Establish(unit); SetState((int)TurretStates.Activ); base.Establish(unit); }
public BaseGameObject(GameObjectView obj, float maxHp, float speed, float pover, Fractions fraction) { Object = obj; CurrentHp = MaxHp = maxHp; Speed = speed; Pover = pover; Fraction = fraction; obj.getDamage = GetDamage; }
public void VerifyRepeatingGetsRightResult() { double n = 1; double d = 3; double dbl = n / d; Fractions.Fraction actual = Fractions.RealToFraction(dbl); actual.N.Should().Be((int)n); actual.D.Should().Be((int)d); }
public override void Load() { Fractions.Reset( from fraction in mRepository?.GetAll <Fraction>() ?? new Fraction[0] orderby fraction.SortOrder ascending let viewModel = new FractionViewModel(mRepository) { Owner = this, Model = fraction } select viewModel); }
public Fractions Division(Fractions x) { Fractions y = new Fractions(); Console.WriteLine("Отношение дробей: "); y.num = num * SwapNum(x.num, x.den); y.den = den * SwapDen(x.num, x.den); //simplifying fractions SetSimply(y); GetInteger(y); return(y); }
public Fractions Multiplication(Fractions x) { Fractions y = new Fractions(); Console.WriteLine("Произведенние дробей: "); y.num = num * x.num; y.den = den * x.den; //simplifying fractions SetSimply(y); GetInteger(y); return(y); }
public EgyptianFractions Calculate() { if (numerator == 0) { return(this); } AddFraction(NextFraction); if (Value < (double)numerator / denominator) { var remaining = new EgyptianFractions(RemainingNumerator, RemainingDenominator); remaining.Calculate(); Fractions.AddRange(remaining.Fractions); } return(this); }
public FractionsData() { var temp = Resources.LoadAll <FractionScriptable>("Data/Fractions/").ToList(); Fractions = temp.Where(x => x.Name != "neutral").ToList <IFraction>(); Fractions.Add(temp.Where(x => x.Name == "neutral").First()); //Добавить нейтралов последними в список фракций if (Fractions.Count > 0) { CurrentFraction = Fractions[0]; } else { Debug.LogError("Fractions not found!"); } }
public void TestFractions() { Assert.AreEqual("10 1/2", Fractions.FromDecimal(10.5m)); Assert.AreEqual("1 1/3", Fractions.FromDecimal(1.333m)); Assert.AreEqual("1/4", Fractions.FromDecimal(.25m)); Assert.AreEqual("1/3", Fractions.FromDecimal(.3334m)); Assert.AreEqual("3", Fractions.FromDecimal(3m)); Assert.AreEqual("0", Fractions.FromDecimal(0m)); Assert.AreEqual("0.1", Fractions.FromDecimal(.123m)); Assert.AreEqual(1, Fractions.ParseFraction("1.0")); Assert.AreEqual(1, Fractions.ParseFraction("1")); Assert.AreEqual(.5, Fractions.ParseFraction("1/2")); Assert.AreEqual(1.5, Fractions.ParseFraction("1 1/2")); Assert.AreEqual(1, Fractions.ParseFraction("2/2")); Assert.AreEqual(1m / 3, Fractions.ParseFraction("1/3")); Assert.AreEqual(10.5, Fractions.ParseFraction("10 50/100")); }
public IEnumerator Damage(Card card, Card otherPlayer, bool isSurge, Keyword powerSurge, Keyword shielded, Keyword elusive, bool isBossFight, BoolReference isVictory, Networking.Player player) { var damage = card.Value; if (isSurge) { damage = card.Value + otherPlayer.Value; } if (!Fractions.Intersect(card.Fractions).Any()) { damage = 1; } if (isSurge && card.HasKeyword(powerSurge)) { Debug.Log($"{card.NameId} had powersearch"); damage = card.Value + otherPlayer.Value; } if (HasKeyword(shielded) && card.Fractions.Count > 1) { Debug.Log($"{_data.NameId} was shielded"); damage = 1; } if (HasKeyword(elusive)) { Debug.Log($"{_data.NameId} was elusive"); damage = 1; } Debug.Log($"{_data.NameId} took {damage} damage"); Value -= damage; Value = Mathf.Max(0, Value); isVictory.Value = isBossFight && Value == 0; FeedbackManager.Instance.TriggerFeedback(player, -damage); yield return(new WaitForEndOfFrame()); // TODO: Damage Animation // TODO: Damage Special Effect }
public void TestFractions() { Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; Assert.AreEqual("10 1/2", Fractions.FromDecimal(10.5m)); Assert.AreEqual("1 1/3", Fractions.FromDecimal(1.333m)); Assert.AreEqual("1/4", Fractions.FromDecimal(.25m)); Assert.AreEqual("1/3", Fractions.FromDecimal(.3334m)); Assert.AreEqual("3", Fractions.FromDecimal(3m)); Assert.AreEqual("0", Fractions.FromDecimal(0m)); Assert.AreEqual("0.1", Fractions.FromDecimal(.123m)); Assert.AreEqual(1, Fractions.ParseFraction("1.0")); Assert.AreEqual(1, Fractions.ParseFraction("1")); Assert.AreEqual(.5, Fractions.ParseFraction("1/2")); Assert.AreEqual(1.5, Fractions.ParseFraction("1 1/2")); Assert.AreEqual(1, Fractions.ParseFraction("2/2")); Assert.AreEqual(1m / 3, Fractions.ParseFraction("1/3")); Assert.AreEqual(10.5, Fractions.ParseFraction("10 50/100")); }
public static Controlled <string, ArgumentException> Sequence(double[] top, double[] bot, double[] sum) // It only works with a1 elements for now. Ex. (a3+a6=8 | a2-a7=16) { var ctrl = new Controlled <string, ArgumentException>(); if (sum.Length != 2) // Checks of the sum array has only 2 elements { ctrl.Exception = new ArgumentException("The sum can have only 2 elements"); } double denD = 0, numD = 0; double numA = 0, denA = 0; double a, d; CalculateSequence(top, bot, sum, ref numA, ref denA, ref numD, ref denD); if (numA % denA == 0 && numD % denD == 0) // Checks if you can devide the numbers and if you can it devides them and ctrl.ReturnValue =s the answer. { a = numA / denA; d = numD / denD; ctrl.ReturnValue = $"a = {a} d = {d}"; } else if (numA % denA == 0 && numD % denD != 0) { a = numA / denA; Fractions.Shorten(ref numD, ref denD); ctrl.ReturnValue = $"a = {a} + d = {numD}/{denD}"; } else if (numA % denA != 0 && numD % denD == 0) { d = numD / denD; Fractions.Shorten(ref numA, ref denA); ctrl.ReturnValue = $"a = {numA}/{denA} d = {d}"; } else { Fractions.Shorten(ref numD, ref denD); Fractions.Shorten(ref numA, ref denA); ctrl.ReturnValue = $"a = {numA}/{denA } d = {numD}/{denD}"; } return(ctrl); }
public Fractions Minus(Fractions x) { Fractions y = new Fractions(); Console.WriteLine("Разница дробей: "); if (den == x.den) { y.den = den; y.num = num - x.num; } else { Count(this, x, y); } if (y.num < 0) { y.num = Math.Abs(y.num); y.minus = '-'; } //simplifying fractions SetSimply(y); GetInteger(y); return(y); }
public override void Establish(Unit unit) { myFraction = unit.Fraction; base.Establish(unit); }
public void ResetAll() { Fractions?.Foreach(x => x.Items.Foreach(y => y.Count = 0)); }
public void SetFraction(Fractions Fraction, int UnitID) { fraction = Fraction; parentInstanceID = UnitID; }
public IFraction GetFraction(string name) => Fractions.Where(x => x.Name == name).First();