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, है ना?