2의 거듭제곱
2의 거듭제곱은 시프트 연산으로 구할 수도 있다.
1 << N 은 2의 N제곱이라는 뜻
ex)
1 << 0 이면, 왼쪽으로 0칸 이동 => 즉 1(이진수)
1 << 1 이면, 왼쪽으로 1칸 이동 => 즉 10(이진수)라서 2가 된다.
1 << 2 이면, 왼쪽으로 2칸 이동 => 즉 100(이진수) 라서 4가 된다.
.
.
.
Math 클래스 메서드
Math.pow()는 거듭제곱을 계산해 주는 메서드이다.
ex) Math.pow(N, 2)이면 N*N N의 2제곱을 의미한다.
Math.sqrt()는 제곱근을 구해주는 메서드이다.
ex) Math.sqrt(4) = 2
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int row = 2; // 초기 상태
// 한줄에 생기는 점의 개수를 계산한다.
for(int i=0; i<N; i++) {
row = (row*2) -1;
}
bw.write(row*row+"\n");
bw.flush();
bw.close();
br.close();
}
}
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
int row = 0; // 초기 상태
// 한줄에 생기는 점의 개수를 계산한다.
for(int i=0; i<N; i++) {
row = (1 << N)+1;
}
bw.write((int)Math.pow(row,2)+""); // Math.pow()는 double 타입으로 반환 된다.
bw.flush();
bw.close();
br.close();
}
}