C언어 기초: 최대공약수 구하기

kevinkim2586·2020년 4월 19일
0

C언어

목록 보기
12/23
post-thumbnail

5주차 강의에서는 함수에 대해서 배웠다. 코드는 최대한 모듈화하는 것이 효율적이고, main함수는 되도록이면 짧게 만드는 것이 좋다는 이야기를 들었다.

첫 번째 예제로 최대공약수를 구하는 함수를 만들어보는 문제를 받았다.

int gcd(int a, int b)라는 함수를 구현하면 된다.
아래 손코딩부터 보자:

gcd함수에 들어오는 실인자 a와 b를 1부터 시작해서 하나하나 증감시키면서 나머지 연산을 시켜보면 된다.

if(a%i==0 && b%i==0)

둘다 0으로 떨어지는 경우가 발생했을 시 그 결과가 바로 gcd가 되는 것이고, 해당 값을 return 하면 된다.

최종 코드를 보자:

#include <stdio.h>


int gcd(int a, int b);

int main(void) {
    
    int num1, num2;
    
    scanf("%d %d", &num1, &num2);
    
    printf("%d", gcd(num1, num2));
    
   
    return 0;
}

int gcd(int a, int b){
    
    int gcdNum=0;
    
    for(int i=1;i<a;i++){
        if(a%i==0 && b%i==0){
            gcdNum=i;
        }
    }
    return gcdNum;
    
}
profile
공개적으로 학습하고자 만든 블로그

0개의 댓글