समस्या
मूल (अंग्रेज़ी) दिखाएँवर्ग 1 पर एक दाना रखा है। प्रत्येक अगले वर्ग पर पिछले वर्ग से दाने दुगुने रखे जाते हैं। मांगे गए वर्ग पर दानों की संख्या और वर्ग 1 से 64 तक के कुल दानों की संख्या दोनों लौटाएँ। प्रत्येक संख्या को दशमलव पाठ (decimal text) के रूप में लिखें, क्योंकि बोर्ड का कुल योग signed 64-bit integer से बड़ा है।
chessboard_grains(square) लागू करें।
इनपुट
square: मांगा गया वर्ग, जिसकी गिनती 1 से शुरू होती है।
आउटपुट
दो दशमलव स्ट्रिंग लौटाएँ: [मांगे गए वर्ग पर दानों की संख्या, सभी 64 वर्गों पर कुल दानों की संख्या]।
सीमाएँ
1 ≤ square ≤ 64। आउटपुट स्ट्रिंग्स में केवल दशमलव अंक हों, कोई कॉमा, स्पेस या अग्रणी शून्य (leading zeros) नहीं होने चाहिए।
उदाहरण
इनपुट:
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 है।
इनपुट:
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 दाना रखा है। दूसरा आउटपुट हमेशा सभी 64 वर्गों के लिए होता है, केवल मांगे गए वर्ग तक के लिए नहीं।
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।