
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(n * n);
System.out.println(2);
scanner.close();
}
}
다음은 틀린 코드이다..
n의 자료형을 long으로 바꾸면 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
long n = scanner.nextInt();
System.out.println(n * n);
System.out.println(2);
scanner.close();
}
}
자료형이 int이면 오버 플로우가 발생할 수 있다.
int의 범위: -2^31 (-2,147,483,648)부터 2^31 - 1 (2,147,483,647)까지
long의 범위: -2^63 (-9,223,372,036,854,775,808)부터 2^63 - 1 (9,223,372,036,854,775,807)까지이다.
int형은 4바이트(32비트), long형은 8바이트(64비트)이기 때문이다.
즉, n * n의 범위는 long 범위 안에 속해야 한다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준_JAVA_알고리즘] 24266 알고리즘 수업 - 알고리즘의 수행 시간 5 (0) | 2024.02.01 |
---|---|
[백준_JAVA_알고리즘] 24265 알고리즘 수업 - 알고리즘의 수행 시간 4 (1) | 2024.02.01 |
[백준_JAVA_알고리즘] 24263 알고리즘 수업 - 알고리즘의 수행 시간 2 (0) | 2024.02.01 |
[백준_JAVA_알고리즘] 24262 알고리즘 수업 - 알고리즘의 수행 시간 1 (1) | 2024.02.01 |
[백준_JAVA] 9063 대지 (0) | 2024.02.01 |