12_gcd.cvc 717 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * gcd.c
  3. *
  4. *
  5. * Created by Andrew on 2/5/11.
  6. * Copyright 2011 UvA. All rights reserved.
  7. *
  8. */
  9. extern void printInt( int val);
  10. extern void printFloat( float val);
  11. extern int scanInt( );
  12. extern float scanFloat( );
  13. extern void printSpaces( int num);
  14. extern void printNewlines( int num);
  15. int gcd_cal(int min,int max)
  16. {
  17. int media;
  18. if(min>max)
  19. {
  20. media=min;
  21. min=max;
  22. max=media;
  23. }
  24. while(min>0)
  25. {
  26. max=max-min;
  27. if(min>max)
  28. {
  29. media=min;
  30. min=max;
  31. max=media;
  32. }
  33. }
  34. return max;
  35. }
  36. export int main()
  37. {
  38. int max=scanInt();
  39. int min=scanInt();
  40. int gcd=0;
  41. if(max==0||min==0)
  42. printInt(gcd);
  43. else
  44. {
  45. gcd=gcd_cal(max,min);
  46. printInt(gcd);
  47. }
  48. printNewlines(1);
  49. return 0;
  50. }