Advertisement
vencinachev

FractionEgyot

Sep 4th, 2019
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.00 KB | None | 0 0
  1.  class Program
  2.     {
  3.  
  4.         static Queue<Fraction> EgyptFraction(Fraction fr)
  5.         {
  6.             Queue<Fraction> q = new Queue<Fraction>();
  7.             Fraction sum = new Fraction(0);
  8.             int i = 2;
  9.             while (sum != fr)
  10.             {
  11.                 Fraction temp = new Fraction(1, i);
  12.                 while (sum + temp <= fr)
  13.                 {
  14.                     sum += temp;
  15.                     q.Enqueue(temp);
  16.                 }
  17.                 i++;
  18.             }
  19.             return q;
  20.         }
  21.  
  22.         static void Main(string[] args)
  23.         {
  24.             Console.Write("Enter fraction: ");
  25.             int[] input = Console.ReadLine().Split("/").Select(n => int.Parse(n)).ToArray(); ;
  26.             Fraction fr = new Fraction(input[0], input[1]);
  27.             Queue<Fraction> q = EgyptFraction(fr);
  28.             while (q.Count != 0)
  29.             {
  30.                 Console.Write("{0} ", q.Dequeue());
  31.             }
  32.             Console.WriteLine();
  33.         }
  34.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement