Recent Posts
Recent Comments
- Today
- Total
SA_BLOG
윤성우의 열혈 C 프로그래밍 (도전! 프로그래밍1-3) 본문
약 1시간 반 동안 머리 굴려서 작성한 코드입니다..
해결 가이드에 유클리드 호제법에 대한 내용이 나오길래 인터넷 검색해서 유클리드 호제법을 참고하여 만들었습니다.
16과 30의 최대 공약수를 테스트로 구해보는데 두 수의 최대 공약수인 2가 안나오고 14가 나오길래 고민고민 하다가
변수를 static 변수로 선언하여 해결했습니다.
(코드가 틀렸을 수도 있고.. 더 간편한 코드가 있을 수 있습니다..)
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #include <stdio.h>
int GCD(int n1, int n2);
int main(void)
{
int su1, su2;
int num = 0;
printf("첫번째 정수 : ");
scanf_s("%d", &su1);
printf("두번째 정수 : ");
scanf_s("%d", &su2);
printf("\n최대공약수 : %d\n", GCD(su1, su2));
return 0;
}
int GCD(int n1, int n2)
{
static int num1=0,num2=0;
static int Temp = 0;
//계산부분
if (n1 <= n2)
{
num1 = n2%n1;
num2 = n1;
}
else if (n1 >= n2)
{
num1 = n1%n2;
num2 = n2;
}
//루프탈출
if (n2%n1 == 0)
{
Temp = num2;
return Temp;
}
else if (n1%n2 == 0)
{
Temp = num1;
return Temp;
}
return GCD(num1, num2);
} |
CodeHighlighter |
'프로그래밍 > C언어' 카테고리의 다른 글
윤성우의 열혈 C 프로그래밍 (도전! 프로그래밍1-5) (0) | 2014.01.14 |
---|---|
윤성우의 열혈 C 프로그래밍 (도전! 프로그래밍1-4) (1) | 2014.01.14 |
윤성우의 열혈 C 프로그래밍 (도전! 프로그래밍1-2) (1) | 2014.01.14 |
[C언어] 성적처리 예제 (0) | 2013.11.26 |
[C언어] 7개의 정수를 입력하여 버블정렬 하기 (0) | 2013.11.19 |
Comments