आइए थिंक:
बहुत पूर्णांकों का एक अनंत धारा उत्पन्न करते हैं, हम कुछ इस तरह चाहते हैं
(define (integers-starting-from n)
(cons-stream n (integers-starting-from (+ n 1))))
यह क्या करना चाहते हैं (साथ शुरू करने के लिए एन = 1):
(+1 +2 +3 +4 +5 ...)
अब, चलो मान लेते हैं कि हम दूसरे स्थान से सभी तत्वों को ले जाने, और उनके संकेत को उलटने:
(+1 -2 -3 -4 -5 ...)
के तीसरे स्थान के लिए और पर भी ऐसा ही करते हैं:,
(+1 -2 +3 -4 -5 ...)
(+1 -2 +3 -4 +5 ...)
हम देख सकते हैं, तो प्रत्येक के बाद:
(+1 -2 +3 +4 +5 ...)
दोहराएँ दो बार अधिक, हर बार अगले जगह से शुरू तत्व हम इसके पूर्णांक (शेष धारा के संकेत को बदलने) के बाद, पूर्णांक पूर्णांक को जोड़ते हैं, हम वही प्राप्त करेंगे जो आप चाहते थे - वैकल्पिक संकेतों के साथ पूर्णांक की एक धारा। प्रत्येक बार जब हम stream-map
-
के साथ अपने स्ट्रीम को उलटा करने के लिए शेष स्ट्रीम पर stream-map
का उपयोग करते हैं, जहां "शेष स्ट्रीम" केवल (+ n 1)
से शुरू होने वाली धारा है।
इसे cons-stream
के साथ सभी को लपेटें और आपको यह होना चाहिए।
स्रोत
2011-06-10 14:11:54
धन्यवाद कुछ के लिए देख रहे हैं बहुत ज्यादा। यह वही है जो मैं ढूंढ रहा हूं। –