fork download
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5. int A;
  6. int B;
  7. int Max;
  8. int Min;
  9. int R;
  10. int cnt;
  11. int Lcm;
  12. printf("두 정수를 차례로 입력하면 최대공약수와 최소공배수를 구합니다.\n두 정수를 차례로 입력해주시오.\n");
  13.  
  14. A=100;
  15. B=20;
  16. Max=0;
  17. Min=0;
  18. R=0;
  19. cnt=0;
  20. Lcm=0;
  21.  
  22. if (A > B)
  23. {
  24. Max = A;
  25. Min = B;
  26. }
  27. else
  28. {
  29. Max = B;
  30. Min = A;
  31. }
  32.  
  33. //
  34. while (1)
  35. {
  36. printf("%d %d %d\n", R, Max, Min);
  37. if(cnt>=1)
  38. {
  39. break;
  40. }
  41.  
  42. if(Min == 0)
  43. {
  44. break;
  45. }
  46.  
  47. R = Max % Min;
  48.  
  49. Max = Min;
  50. Min = R;
  51.  
  52. cnt++;
  53. }
  54.  
  55. Lcm = A*B / Max;
  56.  
  57. printf("두 정수 %d와%d의 최대공약수는 %d이고, 최소공배수는 %d입니다.", A, B, Max, Lcm);
  58.  
  59. return 0;
  60. }
Success #stdin #stdout 0s 9416KB
stdin
Standard input is empty
stdout
두 정수를 차례로 입력하면 최대공약수와 최소공배수를 구합니다.
두 정수를 차례로 입력해주시오.
0 100 20
0 20 0
두 정수 100와20의 최대공약수는 20이고, 최소공배수는 100입니다.