if

x != 0이면서 x == -x가 성립하도록 int 또는 long 타입의 x 값을 찾아야 한다. 2의 보수 오버플로가 핵심이다.

보통6수학비트 연산구현정수론아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

다음 Java 프로그램에서 ??? 두 곳을 채워 실행 결과가 true가 되게 하려고 한다. 조건을 만족하는 x의 자료형과 값을 찾아라.

import java.util.*;
public class Main {
    public static void main(String[] args) {
        ??? x = ???;
        if (x != 0 && x == -x) {
            System.out.println("true");
        } else {
            System.out.println("false");
        }
    }
}

프로그램은 표준 Java 실행 환경에서 돌아간다. int는 32비트, long은 64비트 2의 보수 정수이고, 정수 연산은 오버플로가 일어나도 예외를 던지지 않고 그 자료형의 범위 안에서 값이 돌아 나온다.

입력

입력은 없다.

출력

첫째 줄에 x의 자료형과 값을 공백 하나로 구분해 출력한다.

자료형은 intlong만 쓸 수 있다. 값은 자료형이 intInteger.parseInt가, long이면 Long.parseLong이 예외 없이 읽을 수 있는 10진수 표기여야 한다. 앞에 0을 덧붙이지 않고, 양수에 +를 붙이지도 않는다.

조건을 만족하는 답이 둘 이상이면 출력할 한 줄 전체를 문자 단위로 비교해 사전순으로 가장 앞서는 답 하나만 출력한다.