1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 D3
다음과 같이 두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현해 보아라.
2 5 = 2 X 2 X 2 X 2 X 2 = 32
3 6 = 3 X 3 X 3 X 3 X 3 X 3 = 729
[제약 사항]
java: import java.util.Scanner;
c/c++: #include
를 제외한 나머지 라이브러리 사용을 금한다.
총 10개의 테스트 케이스가 주어진다.
결과 값은 Integer 범위를 넘어가지 않는다.
[입력]
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄에는 두 개의 숫자가 주어진다.
[출력]
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다.
출력#1 43046721
#2 256
.......
#2 256
.......
[코드1] Scanner
import java.util.Scanner;
public class Solution{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
for(int i=1; i<=10; i++) {
int T=sc.nextInt();
int N=sc.nextInt();
int N_=N;
int M=sc.nextInt();
for(int j=1; j<M;j++) {
N=N*N_;
}
System.out.println("#"+T+" "+N);
}
sc.close();
}
}
사용
[코드2] BufferedReader, StringTokenizer 사용
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(int i=1; i<=10; i++) {
int T=Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int N=Integer.parseInt(st.nextToken());
int N_=N;
int M=Integer.parseInt(st.nextToken());
for(int j=1; j<M;j++) {
N=N*N_;
}
System.out.println("#"+T+" "+N);
}
br.close();
}
}'SWEA(SWExpertacAdemy)' 카테고리의 다른 글
| [SWEA] 13229. 일요일 (자바/JAVA) (0) | 2025.05.09 |
|---|---|
| [SWEA] 7728. 다양성 측정 (자바/JAVA) (0) | 2025.05.09 |
| [SWEA] 10570. 제곱 팰린드롬 수 (자바/JAVA) (0) | 2025.05.09 |
| [SWEA] 1289. 원재의 메모리 복구하기 (자바/JAVA) (0) | 2025.05.09 |
| [SWEA] 9317. 석찬이의 받아쓰기 (자바/JAVA) (0) | 2025.05.09 |