어떤 규칙에 따라 수를 순서대로 나열한 것을 수열이라고 한다.
예를 들어
1 -1 3 -5 11 -21 43 ... 은
1부터 시작해 이전에 만든 수에 -2를 곱한 다음 1을 더해 다음 수를 만든 수열이다.
이런 이상한 수열을 알게 된 영일이는 또 궁금해졌다.
"그럼.... 13번째 나오는 수는 뭘까?"
영일이는 물론 수학을 아주 잘하지만 이런 문제는 본 적이 거의 없었다...
그래서 프로그램을 만들어 더 큰 수도 자동으로 계산하고 싶어졌다.
시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때,
n번째 수를 출력하는 프로그램을 만들어보자.
728x90
반응형
https://codeup.kr/problem.php?id=1091
[기초-종합] 수 나열하기3
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
문제 분류 : 기초4-1. 단순 반복문
문제 설명
입력
시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째 인지를 나타내는 정수(n)가
공백을 두고 입력된다.(a, m, d는 -50 ~ +50, n은 10이하의 자연수)
출력
n번째 수를 출력한다.
입력 예시
1 -2 1 8
출력 예시
-85
도움말
내 답안
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException { // BufferdReader, BufferedWriter
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String[] arr = (br.readLine().split(" "));
int a = Integer.parseInt(arr[0]);
int m = Integer.parseInt(arr[1]);
int d = Integer.parseInt(arr[2]);
int n = Integer.parseInt(arr[3]);
long num = a;
for (int i = 0; i < n - 1; i++) {
num = num*m + d;
}
bw.write(String.valueOf(num));
bw.flush();
bw.close();
br.close();
}
}
728x90
반응형
'알고리즘 > [코드업] 기초 100제' 카테고리의 다른 글
[JAVA] CodeUp 1093 : [기초-1차원배열] 이상한 출석 번호 부르기1(설명) (1) | 2021.07.31 |
---|---|
[JAVA] CodeUp 1092 : [기초-종합] 함께 문제 푸는 날(설명) (0) | 2021.07.31 |
[JAVA] CodeUp 1090 : [기초-종합] 수 나열하기2 (0) | 2021.07.31 |
[JAVA] CodeUp 1089 : [기초-종합] 수 나열하기1 (0) | 2021.07.31 |
[JAVA] CodeUp 1088 : [기초-종합] 3의 배수는 통과?(설명) (0) | 2021.07.31 |