zoukankan      html  css  js  c++  java
  • 2.1(构造序对)

    (define (make-rat n d)
      (let ((g (gcd n d)))
        (cons (/ n g) (/ d g))))
    
    (define (numer x) (car x))
    (define (denom x) (cdr x))
    
    (define (print-rat x)
      (newline)
      (cond ((= (denom x) 1) (display (numer x)))
          ((display (numer x))
          (display "/")
          (display (denom x)))
          ))
    
    (define (add-rat x y)
      (make-rat (+ (* (numer x) (denom y))
                   (* (numer y) (denom x)))
                (* (denom x) (denom y))
                ))
    
    (define (sub-rat x y)
      (make-rat (- (* (numer x) (denom y))
                   (* (numer y) (denom x)))
                (* (denom x) (denom y))
                ))
    
    (define (mul-rat x y)
      (make-rat (* (numer x) (numer y))
                (* (denom x) (denom y))))
    
    (define (div-rat x y)
      (make-rat (* (numer x) (denom y))
                (* (denom x) (numer y))))
    
    (define (equal-rat? x y)
      (newline)
      (= (* (numer x) (denom y))
         (* (denom x) (numer y))))
    
    (define one-half (make-rat 1 2))
    (print-rat one-half)
    
    (define one-third (make-rat 1 3))
    (print-rat one-third)
    
    (print-rat (add-rat one-half one-third))
    (print-rat (mul-rat one-half one-third))
    (print-rat (sub-rat one-half one-third))
    (print-rat (div-rat one-half one-third))
    (equal-rat? one-half one-third)
    (print-rat (add-rat one-third one-third))
    (print-rat (make-rat 2 1))
    (print-rat (make-rat 4 2))
    (print-rat (make-rat 2 2))
    
    
    ;2.1
    (print-rat (sub-rat one-third one-half))
    (print-rat (sub-rat one-third one-third))
  • 相关阅读:
    浏览器兼容性优化
    js操作table(增加行,删除行,上移,下移,复制行)
    褚时健传读后感
    新鞋
    八达岭奥莱
    springMVC 多方法controller
    springMVC入门配置及helloworld实例
    springMVC源码下载地址
    spring3mvc与struts2比较
    hql语句拼接的替换方式
  • 原文地址:https://www.cnblogs.com/R4mble/p/8395011.html
Copyright © 2011-2022 走看看