카테고리 없음
[C++] 팩토리얼(factorial 계승) 구하기
s뽈록이s
2013. 9. 9. 08:51
void main() { int su, factorial = 1, i; x: cout << "양의 정수를 입력해 주세요 : "; cin >> su; if(su < 1) { cout << "잘못된 범위를 입력하셨습니다." << endl; goto x; } for(i = 2; i <= su; i++)factorial = factorial * i; cout << su << "! = " << factorial << endl; }
프로그램 실행화면
팩토리얼 즉 계승을 구하는 프로그램이다. 위에 있는 실행화면과 같이 5를 입력하면 1 * 2 * 3 * 4 * 5의 계산결과를 돌려주면 되는 것이다.
1은 곱하나 안곱하나 차이가 없기 때문에 for문을 시작할 때 2 ~ N까지 반복하게 해두었다. 보통 for문에서 10번 반복을 하고 싶을 때면 for(i = 0; i < 10; i++){} 이런식으로 사용한다.
i가 0~9까지이기 때문에 10번인 것이다. 초기값이 1이라면 for(i = 1; i <= 10; i++){} 또는 for(i =1; 1 < (10 + 1); i++){} 이런식으로 해주어야지 10번을 반복한다.
그래서 위에 있는 프로그램에서도 조건식에 <가 아니라 <= 이것이 들어가 있는 것이다.