हमारे पास इस तरह के संख्या शाब्दिकों की एक सरणी है -
कॉन्स्ट नंबर =[10,6200,20,20,350,900,26,78,888,10000,78,15000,200,1280,2000,450];
हमें एक फ़ंक्शन लिखना है जो संख्याओं की एक सरणी लेता है और [0,100] के बीच एक संख्या लेता है, मूल रूप से यह संख्या एक निश्चित प्रतिशत का प्रतिनिधित्व करती है। आइए अब इस संख्या को x से निरूपित करें।
अब हमें मूल सरणी के पहले n तत्वों का एक उप-सरणी वापस करना होगा जो सभी सरणी तत्वों के कुल योग के x% के बराबर या उससे कम जोड़ देता है।
एक आसान उदाहरण लें -
कॉन्स्ट नंबर =[12, 10, 6, 8, 4, 2, 8];
इस सरणी के लिए कुल योग 50 है, और अब यदि हम 25 को दूसरे तर्क (x के लिए मान) के रूप में प्रदान करते हैं, तो हमें पहले n तत्वों को वापस करना होगा जो 50 के बराबर या 25% से कम जोड़ते हैं जो वास्तव में है 12.5.
तो इस मामले में केवल पहले तत्व के साथ एक सरणी वापस की जानी चाहिए क्योंकि दूसरे तत्व (10) को 12 में जोड़ने से थ्रेशोल्ड मान (12.5) से अधिक हो जाएगा।
आइए इसके लिए कोड लिखें। सबसे पहले, हम केवल सरणी को उसके योग तक कम करते हैं, फिर लूप के लिए हम एक सरणी बनाते हैं जो ऊपर बताए गए मानदंडों से मेल खाती है -
उदाहरण
कॉन्स्ट नंबर =[10,6200,20,20,350,900,26,78,888,888,10000,78,15000,200,1280,2000,450]; कॉन्स्ट फाइंड पर्सेंट =(गिरफ्तारी, प्रतिशत) => { कास्ट योग =गिरफ्तारी। कम करें ((एसीसी, वैल) => एसीसी + वैल); कास्ट भाग =[]; चलो वक्र =0; के लिए (चलो मैं =0; मैंआउटपुट
कंसोल में आउटपुट होगा -
<पूर्व>[ 10, 6200, 20, 20, 350, 900, 26, 78, 888] [10] [10] 10, 6200, 20, 20, 350, 900, 26, 78, 888, 10000, 78] [10] , 6200, 20, 20, 350, 900, 26, 78, 888, 10000, 78, 15000, 200, 1280]