n
किसी सरणी में संख्याओं को देखते हुए (आप मान नहीं सकते कि वे पूर्णांक हैं), मैं आकार के सभी सबसेट के उत्पाद की गणना करना चाहूंगा n-1
।
आप इसे सभी संख्याओं को एक साथ गुणा करके और फिर प्रत्येक में बारी-बारी से विभाजित करके कर सकते हैं, जब तक कि कोई भी संख्या शून्य न हो। हालांकि, कितनी जल्दी आप इसे बिना किसी विभाजन के कर सकते हैं?
यदि आप विभाजन की अनुमति नहीं देते हैं, तो आकार n-1 के सभी सबसेट के उत्पाद की गणना करने के लिए अंकगणितीय संचालन (जैसे गुणा और जोड़) की न्यूनतम संख्या क्या है?
स्पष्ट रूप से आप इसे (n-1)*n
गुणा में कर सकते हैं ।
स्पष्ट करने के लिए, आउटपुट n
अलग-अलग उत्पाद हैं और केवल पढ़ने और लिखने से लेकर मेमोरी की अनुमति के अलावा संचालन गुणा, जोड़ और घटाव हैं।
उदाहरण
यदि इनपुट में तीन नंबर हैं 2,3,5
, तो आउटपुट तीन नंबर है 15 = 3*5
, 10 = 2*5
और 6 = 2*3
।
कसौटी जीतना
उत्तर अंकगणितीय परिचालनों की संख्या के लिए एक सटीक सूत्र देना चाहिए जो उनके कोड का उपयोग करेगा n
। जीवन को सरल बनाने के लिए, मैं n = 1000
इसके स्कोर को आंकने के लिए आपके फार्मूले में प्लग करूँगा । कम बेहतर है।
यदि आपके कोड के लिए एक सटीक सूत्र का उत्पादन करना बहुत कठिन है, तो आप इसे n = 1000
कोड में अंकगणित संचालन के लिए बस चला सकते हैं । एक सटीक सूत्र हालांकि सबसे अच्छा होगा।
n=1000
आसान तुलना के लिए आपको अपने उत्तर के लिए अपना अंक जोड़ना चाहिए ।
+
पर भरोसा करते हैं? यदि यह मामला है, तो क्या सरणी अनुक्रमण गिनती भी है? (चूंकि इसके अलावा और डेरेफेरिंग के लिए सभी सिंटैक्टिक चीनी के बाद है)।
(n-1)*n
गुणा तुम्हारा मतलब है (n-2)*n
, है ना?