• 【SICP练习】143 练习3.81


    练习3-81

    原文

    Exercise 3.81. Exercise 3.6 discussed generalizing the random-number generator to allow one to reset the random-number sequence so as to produce repeatable sequences of “random” numbers. Produce a stream formulation of this same generator that operates on an input stream of requests to generate a new random number or to reset the sequence to a specified value and that produces the desired stream of random numbers. Don’t use assignment in your solution.

    代码

    
    (define (random-update x)  
       (remainder (+ (* 13 x) 5) 24))
    ;Value: random-update
    
    (define random-init 
       (random-update (expt 2 32)))
    ;Value: random-init
    
    (define (random-number-generator command-stream) 
       (define random-number  
           (cons-stream random-init    
                        (stream-map (lambda (number command)            
                                    (cond    
                                     ((null? command) the-empty-stream)     
                                     ((eq? command 'generator)       
                                      (random-update number))    
                                    ((and (pair? command)              
                                          (eq? (car command) 'reset))    
                                     (cdr command))      
                                    (else     
                                     (error "bad command -- " command))))        
                                    random-number        
                                    command-stream))) 
           random-number)
     ;Value: random-number-generator
    



    感谢您的访问,希望对您有所帮助。 欢迎大家关注或收藏、评论或点赞。


    为使本文得到斧正和提问,转载请注明出处:
    http://blog.csdn.net/nomasp


    版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

  • 相关阅读:
    通信专业术语解释
    STM32F10系列管脚设置
    [笔试题]使用回调函数编写冒泡排序,可以排序整形数组,也可以排序字符串
    Date常用转换、比较
    哈希映射
    APP技巧格式
    $.get/$.post/$.ajax/$.getJSON
    使用Rss框架PHP开发流程
    测试rss与navicat连接
    验证码技术
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786057.html
Copyright © 2020-2023  润新知