#include <stdio.h>
int gcd(int a, int b) {
int c, ax=1, ay=0, bx=0, by=1, cx=0, cy=0;
c=a%b;
cx=ax-a/b*bx;
cy=ay-a/b*by;
while(c!=0) {
a=b; ax=bx; ay=by;
b=c; bx=cx; by=cy;
c=a%b; cx=ax-a/b*bx; cy=ay-a/b*by;
}
printf("x=%d y=%d\n", bx, by);
return b;
}
int main() {
int a, b;
printf("두정수: ");
scanf("%d%d", &a, &b);
printf("gcd=%d", gcd(a, b));
return 0;
}'c·c++ > c 프로그래밍' 카테고리의 다른 글
진동하는 배너 (0) | 2013.04.07 |
---|---|
디렉토리 리스팅(윈도우) (0) | 2013.01.31 |
strtok source (0) | 2012.12.02 |
연결리스트를 이용한 다항식의 구현 (0) | 2012.12.01 |
2개의 for문을 사용한 별찍기 (0) | 2012.11.20 |