2011-10-15 18 views
5

मैं अपने आवेदन में एक अंश को सरल बनाना चाहता हूं। अंश की तरह है, x/y जहां x और y पूर्णांक हैं। मैं अंश को अपने सबसे सरल रूप में सरल बनाना चाहता हूं। क्या कोई मुझे संकेत दे सकता है कि यह कैसे करें। अग्रिम धन्यवाद।एक अंश को सरल बनाने के लिए कैसे करें

उत्तर

21
  • कंप्यूट GCD

Euclid's algorithm से x और y

  • फूट डालो उन दोनों के लिए सबसे बड़ा आम भाजक GCD की गणना करने के लिए एक आसान तरीका है।

  • 14

    फूट डालो दोनों द्वारा gcd(x,y)

    Binary GCD algorithm कंप्यूटर पर GCD गणना करने के लिए एक तेजी से रास्ता है।

    -4
     #include<iostream> 
         using namespace std; 
         struct fraction 
         { 
           int n1, d1, n2, d2, s1, s2; 
          }; 
         void simplification(int a,int b) 
         { 
           bool e = true; 
          int t; int z; 
         for (int i = (a*b); i > 1;i--) 
         { if ((a%i==0)&&(b%i==0)) 
         { 
         t = a/i; 
         z = b/i; 
    
         } 
    else 
         { 
          e = false; 
         } 
         } 
         cout << "simplest form=" << t << "/" << z << endl; 
    
         } 
         void sum(int num1, int deno1, int num2, int deno2) 
         { 
          int k,y; 
          k = num1* deno2 + num2*deno1; 
          y = deno2*deno1; 
          cout << "addition of given fraction = " << k << "/" << y << endl; 
         simplification(k, y); 
         } 
        void sub(int num1, int deno1, int num2, int deno2) 
        {    
          int k, y; 
    
          k = num1*deno2 - num2*deno1; 
         y = deno1*deno2; 
          cout << "Substraction of given fraction = " << k << "/" << y << endl; 
    
          } 
         void mul(int num1, int deno1, int num2, int deno2) 
          { 
          int k, y; 
    
          k = num1*num2; 
           y = deno1*deno2; 
           cout << "multiplication of given fration= " << k<< "/" <<y;          cout<< endl; 
           simplification(k, y); 
          } 
    
         void div(int num1, int deno1, int num2, int deno2) 
          { 
          int k, y; 
         ; 
        k = num1*deno1; 
        y = deno1*num2; 
         cout << "division of given fraction" << k << "/" << y << endl; 
        simplification(k, y); 
        } 
    
    
         int main() 
         { fraction a; 
          cout << "enter numirator of f1=";cin >> a.n1; 
          cout << "enter denominator of f1=";cin >> a.d1; 
          cout << "enter numirator of f2=";cin >> a.n2; 
         cout << "enter denominator of f2=";cin >> a.d2; 
          cout << "f1= " << a.n1 << "/" << a.d1 << endl; 
           cout << "f2= " << a.n2 << "/" << a.d2 << endl; 
          mul(a.n1, a.d1, a.n2, a.d2); 
         div(a.n1, a.d1, a.n2, a.d2); 
           sub(a.n1, a.d1, a.n2, a.d2); 
           sum(a.n1, a.d1, a.n2, a.d2); 
         system("pause"); 
          } 
    
    +0

    SO में आपका स्वागत है। कृपया अपने उत्तर में कुछ संदर्भ प्रदान करें, क्योंकि केवल कोड ही एसओ मानकों को पूरा नहीं करते हैं। और कृपया अपना कोड दोबारा सुधारें। Http://stackoverflow.com/help/how-to-answer देखें –

    संबंधित मुद्दे