반응형
2개의 정수를 입력받아서 최대 공약수와 최소 공배수를 반환하는 함수를 작성하고 테스트하라. 최대 공약수는 유클리드의 방법을 사용하여서 계산한다.
유클리드 호제법 https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <stdio.h> void get_lcm_gcd(int x, int y, int *p_lcm, int *p_gcd); int main(void) { int x, y, i, j; printf("x값을 입력하세요: "); scanf("%d", &x); printf("y값을 입력하세요: "); scanf("%d", &y); get_lcm_gcd(x,y,&i,&j); printf("최소공배수 : %d\n최대공약수 : %d\n", i, j); return 0; } void get_lcm_gcd(int x, int y, int *p_lcm, int *p_gcd) { int r; int a,b; a=x; b=y; while(b!=0) { r=a%b; a=b; b=r; } *p_gcd=a; *p_lcm=(x*y)/(*p_gcd); } | cs |
반응형