문제
원문 보기 (영어)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에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.