Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2014
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAX 10
  3.  
  4. int pair[MAX][2];
  5.  
  6. int gcd(int a , int b);
  7. int lcm(int a , int b);
  8.  
  9. int gcd(int a , int b)
  10. {
  11. if(a < b){
  12. int t = a;
  13. a = b;
  14. b = t;
  15. }
  16.  
  17. return (a % b == 0) ? b : gcd(b , a%b);
  18. }
  19.  
  20. int lcm(int a , int b)
  21. {
  22. if(a < b){
  23. int t = a;
  24. a = b;
  25. b = t;
  26. }
  27.  
  28. return (a*b) / gcd(a , b);
  29. }
  30.  
  31. int main(void)
  32. {
  33. int n;
  34. scanf("%d",&n);
  35.  
  36. int i;
  37. for(i = 0 ; i < n ; i++){
  38. scanf("%d %d",&pair[i][0] ,&pair[i][1]);
  39. }
  40.  
  41. int bottom = pair[0][1];
  42. for(i = 1 ; i < n ; i++){
  43. bottom = lcm(bottom , pair[i][1]);
  44. }
  45.  
  46. int top = 0;
  47. for(i = 0 ; i < n ; i++){
  48. top += (pair[i][0] * (bottom / pair[i][1]));
  49. }
  50.  
  51. int GCD = gcd(top , bottom);
  52.  
  53. printf("%d %d\n",top / GCD,bottom / GCD);
  54.  
  55. return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement