fork(2) download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5.  
  6.  
  7. unsigned long long nwd(unsigned long long a, unsigned long long b){
  8. while(a!=b){
  9. if(a>b)
  10. a=a-b;
  11. else
  12. b = b-a;
  13. }
  14. return a;
  15. }
  16.  
  17. unsigned long long nww(unsigned long long a, unsigned long long b){
  18. return (a*b)/nwd(a, b);
  19. }
  20.  
  21. int main(){
  22. unsigned long long l1, m1, l2, m2;
  23. unsigned long long wm, l3, dz;
  24. char p;
  25. cin >> l1;
  26. cin >> p;
  27. cin >> m1;
  28. cin >> l2;
  29. cin >> p;
  30. cin >> m2;
  31. wm = nww(m1, m2);
  32. l3 = l1*(wm/m1) + l2*(wm/m2);
  33. dz = nwd(l3, wm);
  34. cout << l1 << "/" << m1 << " + " << l2 << '/' << m2 << " = "<< l3/dz << "/" << wm/dz << endl;
  35. return 0;
  36. }
Success #stdin #stdout 0.01s 5388KB
stdin
1/2356432 35674/45786545
stdout
1/2356432 + 35674/45786545 = 84109141713/107892879807440