모든 챌린지
쉬움 0명 해결 정답률 0%

체스판 위의 곡식 두 배로 놓기

지정한 칸의 곡식 개수와 전체 64칸의 곡식 합계를 계산하세요.

1번 칸에는 곡식 1알이 놓여 있습니다. 이후 각 칸에는 이전 칸의 두 배만큼 곡식이 놓입니다. 요청된 칸의 곡식 개수와 1번부터 64번까지 모든 칸의 곡식 총합을 반환하세요. 각 개수는 십진수 문자열로 작성해야 하며, 전체 합계는 부호 있는 64비트 정수 범위를 초과합니다.

chessboard_grains(square)를 구현하세요.

입력

square: 요청된 칸 번호(1번부터 시작).

출력

두 개의 십진수 문자열을 반환하세요: [요청된 칸의 곡식 개수, 전체 64칸의 곡식 총합].

제약 조건

1 ≤ square ≤ 64. 출력 문자열은 오직 십진수 숫자만 포함하며, 쉼표, 공백, 앞에 오는 0이 없어야 합니다.

예시

예시 1
입력:
square = 6

예상 출력:
expected = ["32", "18446744073709551615"]
입력:
long long square = 6;

예상 출력:
std::vector<std::string> expected = {"32", "18446744073709551615"};
입력:
long square = 6;

예상 출력:
string[] expected = new string[] {"32", "18446744073709551615"};

설명

처음 여섯 칸의 곡식 개수는 1, 2, 4, 8, 16, 32입니다. 전체 칸의 합계는 1 + 2 + … + 2⁶³ = 2⁶⁴ − 1입니다.

예시 2
입력:
square = 1

예상 출력:
expected = ["1", "18446744073709551615"]
입력:
long long square = 1;

예상 출력:
std::vector<std::string> expected = {"1", "18446744073709551615"};
입력:
long square = 1;

예상 출력:
string[] expected = new string[] {"1", "18446744073709551615"};

설명

1번 칸에는 항상 곡식 1알이 놓입니다. 두 번째 출력값은 항상 전체 64칸의 합계를 의미하며, 요청된 칸까지의 합이 아닙니다.

참고 자료

이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.

다른 사람의 풀이 보기

커뮤니티 솔루션

아직 공개된 풀이가 없습니다. 문제를 풀고 첫 풀이를 공유하세요.