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 |
int gcd(int a, int b); //gcd 함수를 사용하겠다고 선언. void //아무것도 반환하지 않음 { int input1, input2; printf("첫번째 수를 입력하세요\n:"); scanf("%d", &input1); printf("첫번째로 입력한 수는 %d입니다\n", input1); printf("두번째 수를 입력하세요\n:"); scanf("%d", &input2); printf("두번째로 입력한 수는 %d입니다\n", input2); printf("최대공약수는 %d입니다.\n", gcd(input1, input2)); //사용자 정의 함수 gcd 이용 } //여기까지가 수 2개를 받는 것. int gcd(int a, int b) { int smallnumber, d, gcdnumber; printf("gcd 함수가 실행되었습니다\n\n"); printf("첫번째 input = %d \n두번째 input = %d\n\n", a, b); smallnumber = (a < b) ? a : b; //(중요 표현!) a가 b보다 작으면 a를, 그렇지 않으면 b를 smallnumber에 넣습니다. printf("작은 수는 %d입니다\n",smallnumber); //확인용입니다. 없어도 됩니다. for(d = 1 ; d <= smallnumber ; d++) { if(a % d == 0 && b % d == 0)//d로나눴을때 나머지가 둘 다 0이 되어야 함 { printf("%d로 나누어 떨어집니다\n", d); gcdnumber = d; printf("gcdnumber = %d입니다.\n", gcdnumber);//확인용입니다. 없어도 됩니다. } } return gcdnumber;//함수 실행 후 나온 gcdnumber를 반환합니다. //gcd(input1, input2)에 gcdnumber값이 들어갑니다. }
아까 본 gcd에서 조금 손을 봐서 LCM = A*B*GCD 를 가지고 최소공배수를 구해봤습니다. 따로 lcmnumber함수를 만들어도 되지만 역시 해놓은 거 쓰는게 편했거든요.. |
'+ 컴퓨터 > C' 카테고리의 다른 글
[C언어] 기초 예제 6 - 반복문과 난수를 이용하여 숫자게임 만들기 (0) | 2012.04.09 |
---|---|
[C언어] 기초 예제 5 - 사용자로부터 값을 입력 받아 홀수/짝수 구분하기 (0) | 2012.04.09 |
[C언어] 기초 예제 3 - sin값 구현하기, 난수 생성 예제 (0) | 2012.04.09 |
C언어, 자바 등 프로그래밍 언어 출력값 쉽게 확인하는 방법. (0) | 2012.04.09 |
[C언어] 기초 예제 2 - 구구단 짜기 (0) | 2012.04.09 |