본문 바로가기

카테고리 없음

[백준] 팩토리얼- 10872번

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;
}