JAVA

23. 재귀호출 펙토리얼

NamGH 2023. 8. 2. 16:21
public static void main(String[] args) {
System.out.println("4: " + fact(4));
System.out.println("4: " + fact2(4));
}
static int fact(int a){ 
if(a == 1) {
return 1;
}else {
return a * fact(a - 1); 
}
static int fact2(int a){
int result = 1;
for(int i = a; i >= 1; i--) {
result = result *i;
}
return result;
}

다음은 두가지 방법으로 4펙토리얼을 하는 방법인데 첫번째 방법같은경우 a가1이될때까지 else부분을 반복시켜주는건데 a-1인 이유는 펙토리얼이 한번 돌때마다 숫자가 하나 내려가서 곱셈을 해야하기 때문이다

 

두번째 방식같은 경우 result에 1을 저장한뒤 a값이 4이기때문에 4 3 2 1이런 방식으로 곱셈을 하게 만든것이다 


결과

4: 24
4: 24