// 예제) 팩토리얼 계산하기
public class Test002 {
public static void main(String[] args) {
int n, i;
long fact = 1;
Scanner sc = new Scanner(System.in);
System.out.print("정수 입력: ");
n = sc.nextInt();
for (i=1; n>=i; i++)
if(fact*i/i==fact)
fact *= i; // fact = fact * i
else
fact=0;
System.out.printf("%d!은 %d입니다.", n, fact);
// 퀴즈) long 타입이 계산 가능한 최대 팩토리얼은? 답: 20
// 퀴즈) int 타입이 계산 가능한 최대 팩토리얼은? 답: 12
// 오버플로 확인법 if(fact*i/i==fact)
}
}
댓글 없음:
댓글 쓰기