निकोमैकस (60 - 120 ईस्वी) ने धनात्मक पूर्णांकों के लिए जो वर्गीकरण प्रणाली बनाई थी, उसके आधार पर निर्धारित कीजिए कि कोई संख्या पूर्ण है, अधिक है या न्यून।
यूनानी गणितज्ञ निकोमैकस ने धनात्मक पूर्णांकों के लिए एक वर्गीकरण प्रणाली बनाई, जिसमें हर संख्या अपने एलिक्वॉट योग के आधार पर पूर्ण, अधिक या न्यून इन तीन श्रेणियों में से ठीक एक में आती है।
एलिक्वॉट योग किसी संख्या के सभी गुणनखंडों का जोड़ है, लेकिन इसमें वह संख्या खुद शामिल नहीं होती।
उदाहरण के लिए, 15 का एलिक्वॉट योग 1 + 3 + 5 = 9 है।
कोई संख्या तब पूर्ण होती है जब वह अपने एलिक्वॉट योग के बराबर होती है। उदाहरण के लिए:
6 एक पूर्ण संख्या है क्योंकि 1 + 2 + 3 = 6
28 एक पूर्ण संख्या है क्योंकि 1 + 2 + 4 + 7 + 14 = 28
कोई संख्या तब अधिक होती है जब वह अपने एलिक्वॉट योग से कम होती है। उदाहरण के लिए:
12 एक अधिक संख्या है क्योंकि 1 + 2 + 3 + 4 + 6 = 16
24 एक अधिक संख्या है क्योंकि 1 + 2 + 3 + 4 + 6 + 8 + 12 = 36
कोई संख्या तब न्यून होती है जब वह अपने एलिक्वॉट योग से अधिक होती है। उदाहरण के लिए:
8 एक न्यून संख्या है क्योंकि 1 + 2 + 4 = 7
ऐसा तरीका बनाइए जिससे पता चले कि दी गई संख्या पूर्ण है या नहीं। आपके भाषा ट्रैक के अनुसार आपको यह तय करने का तरीका भी बनाना पड़ सकता है कि दी गई संख्या अधिक है या न्यून।
इस अभ्यास में मान लीजिए कि हम चाहते हैं कि classify को कॉल करने वाला ही इस बात का ज़िम्मेदार हो कि वह केवल ऐसे इनपुट के साथ कॉल करे जो शून्य न हो।
इसलिए कृपया classify फंक्शन में यह एसर्ट लगाइए कि उसका इनपुट शून्य नहीं है।
अधिक जानकारी के लिए Zig भाषा संदर्भ और std.debug.assert का इम्प्लीमेंटेशन देखिए।
हालाँकि, ध्यान दीजिए कि यह अभ्यास फिलहाल 0 वाले इनपुट की जाँच नहीं करता (क्योंकि std.testing अभी पैनिक की अपेक्षा करने का समर्थन नहीं करता)।
Exercism पर साइन अप कीजिए और Zig को 104 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।