Skip to content

Commit

Permalink
egyptian_fraction_code
Browse files Browse the repository at this point in the history
  • Loading branch information
AI-no-sekai committed Oct 24, 2019
1 parent 4e5de5d commit 9c436e1
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 54 deletions.
52 changes: 52 additions & 0 deletions Algorithms/Greedy Algorithm/Egyptian Fraction.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#include <iostream>
using namespace std;

void printEgyptian(int nr, int dr)
{
// If either numerator or denominator is 0
if (dr == 0 || nr == 0)
return;

// If numerator divides denominator, then simple division
// makes the fraction in 1/n form
if (dr%nr == 0)
{
cout << "1/" << dr/nr;
return;
}

// If denominator divides numerator, then the given number
// is not fraction
if (nr%dr == 0)
{
cout << nr/dr;
return;
}

// If numerator is more than denominator
if (nr > dr)
{
cout << nr/dr << " + ";
printEgyptian(nr%dr, dr);
return;
}

// We reach here dr > nr and dr%nr is non-zero
// Find ceiling of dr/nr and print it as first
// fraction
int n = dr/nr + 1;
cout << "1/" << n << " + ";

// Recur for remaining part
printEgyptian(nr*n-dr, dr*n);
}

// Driver Program
int main()
{
int nr = 6, dr = 14;
cout << "Egyptian Fraction Representation of "
<< nr << "/" << dr << " is\n ";
printEgyptian(nr, dr);
return 0;
}
54 changes: 0 additions & 54 deletions Algorithms/Greedy Algorithm/egyptian fraction.txt

This file was deleted.

0 comments on commit 9c436e1

Please sign in to comment.