어떤 규칙에 따라 수를 순서대로 나열한 것을 수열이라고 한다.
예를 들어
1 -1 3 -5 11 -21 43 ... 은
1부터 시작해 이전에 만든 수에 -2를 곱한 다음 1을 더해 다음 수를 만든 수열이다.
이런 이상한 수열을 알게 된 영일이는 또 궁금해졌다.
"그럼.... 13번째 나오는 수는 뭘까?"
영일이는 물론 수학을 아주 잘하지만 이런 문제는 본 적이 거의 없었다...
그래서 프로그램을 만들어 더 큰 수도 자동으로 계산하고 싶어졌다.
시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때,
n번째 수를 출력하는 프로그램을 만들어보자.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
long a = scan.nextLong(); //시작값
long m = scan.nextLong(); //곱할값
long d = scan.nextLong(); //더할값
int n = scan.nextInt(); //몇번째
long result = 0;
ArrayList<Long> sequence = new ArrayList<>();
sequence.add(a);
for (int i = 1; i < n; i++) {
result = sequence.get(i-1) * m + d;
sequence.add(result);
}
System.out.println(sequence.get(n-1));
}
}
반응형
'자료구조&알고리즘 > 알고리즘-문제풀이' 카테고리의 다른 글
[코드업 기초100제] 1099-[기초-2차원배열] 성실한 개미 (0) | 2020.05.06 |
---|---|
[코드업 기초100제] 1098-[기초-2차원배열] 설탕과자 뽑기 (0) | 2020.05.05 |
[코드업 기초100제] 1095-[기초-1차원배열] 이상한 출석 번호 부르기3 (0) | 2020.05.05 |
[코드업 기초100제] 1094-[기초-1차원배열] 이상한 출석 번호 부르기2 (0) | 2020.05.05 |
[코드업 기초100제] 1093-[기초-1차원배열] 이상한 출석 번호 부르기1 (0) | 2020.05.05 |