n번째 수 구하기(코드업 1091)

Inhyeeee·2021년 1월 3일
0

코딩 삽질 기록

목록 보기
11/20

재귀함수 비숫한걸 풀었다.(그냥 반복문 이지만)

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        int m = sc.nextInt();
        int d = sc.nextInt();
        int n = sc.nextInt();
        long answer = a*m+d;
        
        if(n == 1){
            System.out.println(a);
        }else{
            for(int i = 2; i < n; i++){
                answer = answer*m+d;
            }
            System.out.println(answer);
        }
    }
}

처음에는 long[] result 배열을 하나 만들었는데 계속 loosy하다고 나와서 이유를 알 수 없었다.(아직까지도 모르겠다... 배열 크기를 n으로 줘서 그런건가...)

하단의 for문 에서는 i < n으로 줬어야 했는데,
answer의 첫번째는 그냥 a인 것이고 2번째 부터가 answer = answer*m+d 이므로 n보다는 작아지는 거다. 이걸 놓쳤더니 계속 틀렸다.

profile
avocadoxxi

0개의 댓글