में divisors की एक सूची बनाना मैं eulerproject में समस्या 21 कर रहा हूँ। एक भाग को किसी संख्या के उचित divisors की सूची खोजने की आवश्यकता है। यानी जहां n
शेष है और कुछ संख्या n
से कम है। इसलिए मैंने यह हास्केल बनाया, लेकिन जीएचसीआई मुझ पर नाराज हो गया।हास्केल
divisors n =[ n | n <- [1..(n-1)], n `rem` [1..(n-1)] ==0 ]
समस्या यह है कि मैं नहीं जानता कि कैसे बनाने के लिए है:
n `rem` [1..(n-1)]
इतना है कि यह केवल संख्या n
कि n
में समान रूप से विभाजित की तुलना में कम देता है।
सूची समझ क्यों हास्केल नहीं है? इसके अलावा, एक छोटा सा प्रश्न, सूची में सभी सूचियों के योग को खोजने का कोई तरीका है? –
मैं किसी भी तरह से हास्केल अनुभवी नहीं हूं, लेकिन उदाहरण के लिए, मैंने किसी भी हास्केल पुस्तकालयों में उपयोग की जाने वाली किसी भी सूची की समझ को वास्तव में नहीं देखा है। छोटा उत्तर: '$ $ sum sum x', जैसे' sum $ map sum [[1,2,3], [4,5,6], [7,8,9]] जिसके परिणामस्वरूप 45. –
या 'योग concat', जो पहले एक बड़ी सूची बनाता है। –