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;
}
1 1 넣어보세요