fork download
  1. #define max(a,b) (((a)>(b))?(a):(b))
  2. #define min(a,b) (((a)<(b))?(a):(b))
  3. #define log(x) printf(#x": %d\n",x)
  4. int gcm(int a, int b) {
  5. int r = min(a, b);
  6. while (r) {
  7. if (a%r == 0 && b%r == 0) break;
  8. r--;
  9. }
  10. return r;
  11. }
  12. int lcm(int a, int b) {
  13. int r = max(a, b);
  14. while (r <= a*b) {
  15. if (r%a == 0 && r%b == 0) break;
  16. r++;
  17. }
  18. return r;
  19. }
  20. main() {
  21. int a, b;
  22. scanf("%d %d", &a, &b);
  23. log(a);
  24. log(b);
  25. log(gcm(a, b));
  26. log(lcm(a, b));
  27. log(gcm(11, 10));
  28. log(lcm(11, 10));
  29. }
Runtime error #stdin #stdout 0s 2252KB
stdin
6 9
stdout
a: 6
b: 9
gcm(a, b): 3
lcm(a, b): 18
gcm(11, 10): 1
lcm(11, 10): 110