코북
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]수열 n번째 항까지 출력
알고리즘

[Java]수열 n번째 항까지 출력

2022. 2. 1. 18:01

 

 안녕하세요 코북입니다. 즐거운 설 연휴네요. 즐거운 마음으로 오늘 수열 문제 풀어봤습니다. 먼저 수열 값을 구하는 메소드를 만든 후에 n번째 항까지 출력하도록 반복문을 만들어줬습니다. 위에 나온 수열은 다음 수가 나올 때 1씩 증가한 값이 더해지는 규칙을 가지고 있습니다. 첫 번째에 1이 나온 후 두 번째는 1+1, 세 번째는 1+1+2, 네 번째는 1+1+2+3이 나오게 됩니다. 반복하면 다음과 같은 규칙이 나옵니다.

 

첫 번째 : 1

두 번째 : 1(첫 번째 값) + 1

세 번째 : 1+1(두 번째 값) + 2

네 번째 : 1+1+2(세 번째 값) + 3

...

n 번째 : (n-1 번째 값) + (n-1)

 

n이 1인 경우를 제외하면 n을 입력했을 때 n-1 번째 값과 n-1을 더한 값이 결괏값으로 나옵니다. 다음 값에서 기존에 있던 값을 사용하기 때문에 재귀함수를 이용하였습니다.

 

public class Java11 {
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("n 입력 : ");
		int n = sc.nextInt();

		for(int i=1; i<=n; i++) 
        {
			System.out.print(seq(i)+" ");
		}
		
	}
	
	public static int seq(int n) {
		
		if (n==1) 
        {
			return 1;
		} 
        else 
        {
			return seq(n-1)+(n-1);
		} 
	}
}

 

 결과로 나온 값을 반복해서 보여줘야 하기 때문에 반복문을 사용하여 결괏값을 출력하도록 하였습니다.

 

 

배운 점

 

 값을 나열하여 규칙을 찿는 것을 오랜만에 해본 것 같아 재밌었고, 현상을 보고 규칙성을 도출해 내는 것에 훈련이 더 필요하다고 생각했습니다.

저작자표시 비영리 동일조건 (새창열림)

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

[Java] 10진수 2진수로 변환  (0) 2022.02.08
[Java] 가까운 거리 찾기 (1차원)  (0) 2022.02.08
[Java]소인수분해  (0) 2022.01.25
[Java]팩토리얼 - 재귀 함수  (0) 2022.01.24
[Java]최대 공약수, 최소 공배수 구하기(feat.유클리드 호제법)  (0) 2022.01.23
    '알고리즘' 카테고리의 다른 글
    • [Java] 10진수 2진수로 변환
    • [Java] 가까운 거리 찾기 (1차원)
    • [Java]소인수분해
    • [Java]팩토리얼 - 재귀 함수
    코북
    코북

    티스토리툴바