zoukankan      html  css  js  c++  java
  • SICP_2.40

     1 #lang racket
     2 
     3 ;;;;;;;;;;;;;;;;;2.40
     4 (define nil '())
     5 
     6 (define (accumulate op intial seq)
     7   (if (null? seq)
     8       intial
     9       (op (car seq)
    10           (accumulate op intial (cdr seq)))))
    11 
    12 (define (enumerate-interval low high)
    13   (if (> low high)
    14       nil
    15       (cons low (enumerate-interval (+ low 1) high))))
    16 
    17 (define (make-pair-sum pair)
    18   (list (car pair) (cadr pair) (+ (car pair) (cadr pair))))
    19 
    20 (define (prime-sum? pair)
    21   (prime? (+ (car pair) (cadr pair))))
    22 
    23 (define (prime? n)
    24   (define (test number)
    25     (cond ((> (square number) n) #t)
    26           ((= (remainder n number) 0) #f)
    27           (else (test (+ number 1)))))
    28   (test 2))
    29 
    30 (define (square x)
    31   (* x x))
    32 
    33 (define (unique-pairs n)
    34   (accumulate append
    35               nil
    36               (map (lambda (i)
    37                      (map (lambda (j) (list i j))
    38                           (enumerate-interval 1 (- i 1))))
    39                    (enumerate-interval 1 n))))
    40 
    41 ;;;;;;;;test
    42 (unique-pairs 5)
    43 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    44 (define (prime-sum-pairs n)
    45   (map make-pair-sum
    46        (filter prime-sum?
    47                (unique-pairs n))))
    48 
    49 ;;;;;;;;;test
    50 (prime-sum-pairs 5)
    Yosoro
  • 相关阅读:
    一个Bean属性拷贝的工具类
    java Integer parseInt()
    sql 预编译 in
    显著性图谱的评价
    如何优雅的在MFC中使用cvSetMouseCallback?
    为MFC界面添加一个Log Window
    最大流算法统计
    2014年秋 求职总结
    图论的常用算法
    常用的排序算法
  • 原文地址:https://www.cnblogs.com/tclan126/p/6417796.html
Copyright © 2011-2022 走看看