코북
Keep going
코북
전체 방문자
오늘
어제
  • 분류 전체보기 (114)
    • Computer Science (20)
      • 인터넷 (10)
      • 운영체제 및 일반지식 (4)
      • 공통 요구사항 (4)
      • WAS (2)
    • DataBase (18)
    • JavaScript (22)
    • Spring (15)
    • Java (4)
    • ASP.NET (5)
    • C# (6)
    • 알고리즘 (8)
    • HTML5 + CSS (5)
    • Git & GitHub (5)
    • Machine Learning (5)
    • 좋은 글 공유 (1)

최근 글

최근 댓글

티스토리

hELLO · Designed By 정상우.
코북

Keep going

[Java]팩토리얼 - 재귀 함수
알고리즘

[Java]팩토리얼 - 재귀 함수

2022. 1. 24. 21:40

 

안녕하세요 코북입니다. 오늘은 팩토리얼 문제를 풀었는데, 반복문을 통해 푸는 방법과 재귀 함수를 사용해서 푸는 방법이 있었습니다. 

 

반복문 풀이

public class Java08 {
	public static void main(String[] agrs) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("입력 : ");
		int num = sc.nextInt();
		int fact = 1; //곱해야 하므로 기본값을 1로 설정
		
		for(int i=2; i<=num; i++) 
		{
			fact *= i;
		}
		
		System.out.println("출력 : "+ fact);
		
	}
}

 입력한 값 만큼 반복하여 대입 연산자를 통해 값을 곱해줍니다. 

 

재귀 함수 풀이

public class Java08_2 {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("입력 : ");
		int num = sc.nextInt();
		
		System.out.println("출력 : " + fact(num));
	}
	
	static int fact(int n) {
		if(n<=1) 
		{
			return n;
		} 
		else 
		{
			return fact(n-1)*n;
		}
	}
}

 

 

 함수 안에서 자기 자신을 다시 불러서 함수가 실행됩니다.

 

배운 점

 재귀함수를 통한 풀이를 처음 접해봤는데, 재귀 함수에 대한 공부가 좀 더 필요할 것 같다.

저작자표시 비영리 동일조건

'알고리즘' 카테고리의 다른 글

[Java] 가까운 거리 찾기 (1차원)  (0) 2022.02.08
[Java]수열 n번째 항까지 출력  (0) 2022.02.01
[Java]소인수분해  (0) 2022.01.25
[Java]최대 공약수, 최소 공배수 구하기(feat.유클리드 호제법)  (0) 2022.01.23
[Java]1-2+3-4+...+99-100 계산  (0) 2022.01.22
    '알고리즘' 카테고리의 다른 글
    • [Java]수열 n번째 항까지 출력
    • [Java]소인수분해
    • [Java]최대 공약수, 최소 공배수 구하기(feat.유클리드 호제법)
    • [Java]1-2+3-4+...+99-100 계산
    코북
    코북

    티스토리툴바