티스토리 뷰
※ [Quest 3 - 2. 배열을 사용한 합계 및 평균 계산]은 추후 작업할 예정입니다.
- 사용자로부터 입력받는 숫자의 팩토리얼을 계산하는 프로그램을 작성하세요.
- 팩토리얼은 n!로 표시되며, 1 부터 n 까지의 모든 값의 곱입니다.
- for, while, do-while문 중 하나를 활용하여 해결해 주세요.
- Console.ReadLine()을 활용해서 기준 값을 입력 받아 진행해 주세요.
int a, i;
ulong result;
while (true)
{
Console.Write("Enter a Number(0 is exit): ");
a = Convert.ToInt32(Console.ReadLine());
if (a == 0)
break;
else
{
result = 1;
for (i = 1; i <= a; i++)
{
result *= (ulong)i;
}
Console.WriteLine($"Factorial of {a} is {result}\n");
}
}
※ 결과값에 int를 사용하면 입력값이 16만 넘어도 Overflow 문제가 발생하기 때문에, ulong을 사용하여 구현하였습니다.
※ ulong도 22 부터는 Overflow가 발생합니다. 즉, 하단의 45는 Overflow 된 결과물입니다.
┗ checked를 사용하면 Overflow를 검출할 수 있으나, 결과 확인의 편의성을 위해서 해당 구문을 제외하였습니다.
※ 결과값을 편하게 확인하기 위해서 0을 입력하면 종료되는 반복 프로그램으로 제작하였습니다.
결과 창
'스파르타 내일배움캠프 > Quest' 카테고리의 다른 글
(사전 캠프) Stage 3 - 5. 이중 반복문을 사용한 구구단 출력 (0) | 2024.08.26 |
---|---|
(사전 캠프) Stage 3 - 4. 숫자 맞추기 게임 (0) | 2024.08.26 |
(사전 캠프) Stage 3 - 2. 배열을 사용한 합계 및 평균 계산 (0) | 2024.08.26 |
(사전캠프) Stage3 - 1. 홀수 출력하기 (0) | 2024.08.26 |
(사전 캠프) 게임 속 상호작용 분석 (1) | 2024.08.14 |