[BOJ][C++] 백준 10872번 팩토리얼

Updated:

10872번 팩토리얼Permalink

1. 문제 정보Permalink

백준 온라인 저지 [10872번 팩토리얼] 문제의 링크입니다.

문제Permalink

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

입력Permalink

첫째 줄에 정수 N(0 ≤ N ≤ 12)가 주어진다.

출력Permalink

첫째 줄에 N!을 출력한다.

예제 입력1Permalink

10

예제 출력1Permalink

3628800

시간 / 메모리 제한Permalink

1초 / 256MB


2. 생각Permalink

  1. n 팩토리얼에 관한 문제는 재귀함수로 구현, 반복문으로 구현, 다이나믹 프로그래밍으로 구현 등이 있습니다. 저는 단순한 n!을 출력하는 문제이므로 반복문으로 간단하게 구현하겠습니다.

3. 소스코드 (C++)Permalink

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
#include <iostream>
using namespace std;

int main()
{
	int n;
	int cnt = 0;
	cin >> n;
	while (n--)
	{
		int num;
		bool flag = false;
		cin >> num;

		if (num == 1) 
		{
			continue;
		}

		for (int i = 2; i < num; i++)
		{
			if (num % i == 0)
			{
				flag = true;
			}
		}

		if (!flag)
		{
			cnt++;
		}
	}
	cout << cnt << '\n';
	return 0;
}

터미널의 입출력 화면 예제1

10872_1

터미널의 입출력 화면 다른 예제

10872_2 10872_3