Notice
Recent Posts
Recent Comments
Link
DY N DY
실력키우기 팩토리얼(C++) 본문
1309 : 팩토리얼
제한시간: 1Sec 메모리제한: 32mb
해결횟수: 861회 시도횟수: 2952회
1부터 어떤 양의 정수 n까지의 정수를 모두 곱한 것을 말하며 n!로 나타낸다.
0! = 1
1! = 1
2! = 2
n! = n * (n-1)!
:
와 같이 정의된다.
예로 4! = 4×3×2×1 = 24 이다.
n! 이 주어졌을 때 결과를 출력하는 프로그램을 작성하라.
* 결과가 int범위를 넘는 경우
VC/VC++는 변수 선언 __int64 입력/출력 서식문자 %I64d
GCC/G++는 변수 선언 long long 입력/출력 서식문자 %lld
를 사용한다.
[Copy]4 | [Copy]4! = 4 * 3! 3! = 3 * 2! 2! = 2 * 1! 1! = 1 24 |
/**************************************************************
Problem: 1309
User: a132034
Language: C++
Result: Success
Time:0 ms
Memory:1740 kb
****************************************************************/
#include <iostream>
using
namespace
std;
int
main()
{
int
N;
cin >> N;
long
long
ans = 1;
while
(1)
{
if
(N == 1)
{
cout <<
"1! = 1"
<< endl;
break
;
}
ans *= N;
cout << N <<
"! = "
<< N <<
" * "
<< N-1 <<
"!"
<< endl;
N--;
}
cout << ans;
return
0;
}
답이 너무 커질 수 있기 때문에 long long타입 등의 큰 타입으로 설정하는 것을 제외하면
딱히 문제될 것이 없음.
'PARK > ALGORITHM' 카테고리의 다른 글
실력키우기 이진수(C++) (0) | 2016.04.05 |
---|---|
실력키우기 2진수를 10진수로(JAVA) (0) | 2016.04.04 |
실력키우기 10진수를 2진수로(JAVA) (1) | 2016.04.01 |
실력키우기 별삼각형2(JAVA) (0) | 2016.03.31 |
문제은행(BFS) 장기(JAVA) (0) | 2016.03.30 |