description 문제 history 제출 현황 question_mark 질문 how_to_vote 투표 #8067 upload 3 done 1 how_to_reg 1 2의 거듭제곱의 합 2 timer 1s memory 1024MB 문제 text_fields 주어진 양의 정수 N에 대해 2^x + 2^y = N인 음이 아닌 정수 x와 y를 출력하는 프로그램을 작성하시오. 단, x\le y를 만족해야 한다.그런 (x,y)가 존재하지 않는다면, (x,y)가 존재하는 N과의 차이가 가장 작은 수로 N을 대체한 뒤 위와 같은 규칙으로 (x,y)를 고른다. 대체할 수 있는 수가 여러 가지라면 그중 가장 작은 것으로 대체한다. 이때 (x,y)가 유일하게 결정됨을 증명할 수 있다. 입력 첫 줄에 정수 N이 주어진다. ( 1≤N≤10^{18})주어지는 N에 대해 가능한 x\le y인 (x,y) 순서쌍이 존재함이 보장되지 않는다. 출력 첫 줄에 N에 대해 2^x + 2^y = N인 음이 아닌 정수 x와 y를 출력한다. 예제 #1 login 입력 1 content_copy logout 출력 0space_bar 0 content_copy 예제 #2 login 입력 7 content_copy logout 출력 1space_bar 2 content_copy 출처 송도고 코드마스터 2023 D2번
문제 text_fields 주어진 양의 정수 N에 대해 2^x + 2^y = N인 음이 아닌 정수 x와 y를 출력하는 프로그램을 작성하시오. 단, x\le y를 만족해야 한다.그런 (x,y)가 존재하지 않는다면, (x,y)가 존재하는 N과의 차이가 가장 작은 수로 N을 대체한 뒤 위와 같은 규칙으로 (x,y)를 고른다. 대체할 수 있는 수가 여러 가지라면 그중 가장 작은 것으로 대체한다. 이때 (x,y)가 유일하게 결정됨을 증명할 수 있다. 입력 첫 줄에 정수 N이 주어진다. ( 1≤N≤10^{18})주어지는 N에 대해 가능한 x\le y인 (x,y) 순서쌍이 존재함이 보장되지 않는다. 출력 첫 줄에 N에 대해 2^x + 2^y = N인 음이 아닌 정수 x와 y를 출력한다. 예제 #1 login 입력 1 content_copy logout 출력 0space_bar 0 content_copy 예제 #2 login 입력 7 content_copy logout 출력 1space_bar 2 content_copy 출처 송도고 코드마스터 2023 D2번