1.문제 : 출력
문제
0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다.
출력
첫째 줄에 N!을 출력한다.
2.문제 풀이
C언어 반복문으로 풀기
#include <stdio.h>
int main() {
int i = 0;
int n;
int k = 1;
scanf("%d", &n);
while (n < 0 || n>12) {
printf("다시입력:");
scanf("%d", &n);
}
for (i = 1; i <= n; i++) {
k *= i;
}
printf("%d\n", k);
return 0;
}
C언어 재귀함수로 풀기
#include <stdio.h>
int add(int k) {
if (k == 0) return 1;
return k * add(k - 1);
}
int main() {
int n;
scanf("%d", &n);
while (n < 0 || n>12) {
printf("다시입력:");
scanf("%d", &n);
}
printf("%d\n", add(n));
return 0;
}