문제 풀이/CodeUp

CodeUp_1090 : 수 나열하기2

윤지(●'◡'●) 2021. 4. 1. 10:57
반응형


▪ 문제 내용

어떤 규칙에 따라 수를 순서대로 나열한 것을 수열이라고 한다.

예를 들어
2 6 18 54 162 486 ... 은
2부터 시작해 이전에 만든 수에 3을 곱해 다음 수를 만든 수열이다.

이러한 것을 수학에서는 앞뒤 수들의 비율이 같다고 하여
등비(비율이 같다의 한문 말) 수열이라고 한다.


등비 수열을 알게된 영일이는 갑자기 궁금해졌다.

"그럼.... 13번째 나오는 수는 뭘까?"

영일이는 프로그램을 만들어 더 큰 수도 자동으로 계산하고 싶어졌다.


시작 값(a), 등비(r), 몇 번째인지를 나타내는 정수(n)가 입력될 때
n번째 수를 출력하는 프로그램을 만들어보자.

 

 


▪ 자바 코드

 

import java.util.Scanner;

public class CodeUp_1090 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		long a = sc.nextInt();
		int r = sc.nextInt();
		int n = sc.nextInt();

		for (int i = 1; i < n; i++) {
			a*=r;
		}
		System.out.println(a);
		
	}
}

 

 

▪ 코드 풀이

 

import java.util.Scanner;

public class CodeUp_1090 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in); // Scanner 객체 생성(입력메소드)

		// 값을 입력받아 각 각 a,r,n에 저장
		long a = sc.nextInt(); 
        // a에는 값이 누적되기때문에 int 범위를 벗어나는 경우를 고려해 long으로 선언
		int r = sc.nextInt();
		int n = sc.nextInt();

		for (int i = 1; i < n; i++) { // i가 n보다 작을 때 까지 반복
			a*=r; // a = a*r : 시작값 a에 등비값 r을 곱해 저장
		}
		System.out.println(a);
		
	}
}

 

 

▪ 출력 내용

 

2 3 7 // 입력
1458 // 출력
반응형