팩토리얼을 C언어로 표현해보자.
여기선 자세히 설명하지 않겠다. 우리가 지금 중요하게 다루는건수학적 정의보다는 어떤 식을 프로그램상으로 표현하는 방법에 대해서 공부하는 것이다.
힌트를 보려면 아래를 펼치면 된다.
먼저 원칙을 정하자
1.포맷을 맞추자
어떤 식을 표현하기위해선 여러변수들의 복합적인 작용이 있기때문에 틀을 정하지않고 생각하려면 한계에 다다른다. 그러므로 위 실행결과를 보고 그에 맞는 포맷(큰 틀)을 만들자
#include <stdio.h>
int main(void) {
printf("%d! = %d", n, 결과);
}
2. 위 실행결과에 맞는 틀을 갖춰졌다. 이젠 하나식 분석해보자.
- 먼저 결과값을 어떤 함수로 정해야겠다.
int factorial () {
}
이 함수는 n을 인수로 받아서 1부터 n까지의 곱을 계산해서 다시 돌려주면 된다.
1부터 n까지의 곱은
for(i=1;i<=n;i++)
p=p*i;
이런식이면 가능하겠다.
p의 값은 1로 정해주자 왜냐면 n=0인경우 for문이 실행되지 않도록 하고 1의 값을 가져야하기때문이다.
그래서 i도 1부터 시작한것이고,
더자세한 설명은 필요없을 듯하다.
해답은 아래에
모든 변수를 in로 정의 했기때문에 너무 큰수를 넣으면 이상한 수가나온다. 15이하정도로만 입력하자
앞으로는 완전한 코드를 올리지 않겠다.
완전한 코드보다는 틀리더라도 끙끙 혼자해보는 것이 더 실력을 늘게 해주기때문이다.