zoukankan      html  css  js  c++  java
  • 全民Scheme(1):数字游戏

    刚刚看到两句话,感觉不错,分享给大家:

    1.用户的问题。就是我们的问题

    2.做一些用户想要的东西

    (define add1
      (lambda (x)
        (+ 1 x)))
    
    (define sub1
      (lambda (x)
        (- x 1)))
    
    (add1 67)
    (sub1 5)
    (sub1 0)
    
    (zero? 22)
    
    (define addup
      (lambda (tup)
        (cond
          ((null?

    tup) 0) (else (+ (car tup) (addup (cdr tup))))))) (addup '(3 4 5)) (define * (lambda (x y) (cond ((eq? 1 x) y) (else (+ y (* (sub1 x) y)))))) (* 3 9) (define tup+ (lambda (tup1 tup2) (cond ((null?

    tup1) '()) (else (cons (+ (car tup1) (car tup2)) (tup+ (cdr tup1) (cdr tup2))))))) (tup+ '(2 3 4 5) '(5 4 3 2)) (define > (lambda (x y) (cond ((zero? x) #f) ((zero? y) #t) (else (> (sub1 x) (sub1 y)))))) (> 4 3) (> 3 3) (> 3 4) (define < (lambda (x y) (cond ((zero?

    y) #f) ((zero? x) #t) (else (< (sub1 x) (sub1 y)))))) (< 3 3) (< 4 3) (< 3 4) (define = (lambda (x y) (cond ((> x y) #f) ((< x y) #f) (else #t)))) (= 3 4) (= 3 3) (= 4 3) (define expt (lambda (x y) (cond ((zero?

    y) 1) (else (* x (expt x (sub1 y))))))) (expt 5 3) (define / (lambda (x y) (cond ((< x y) 0) (else (add1 (/ (- x y) y)))))) (/ 10 2) (define length (lambda (lat) (cond ((null? lat) 0) (else (add1 (length (cdr lat))))))) (length '(good hello)) (define pick (lambda (n lat) (cond ((eq? n 1) (car lat)) (else (pick (sub1 n) (cdr lat)))))) (pick 3 '(hotdogs with hot mustard)) (define no-nums (lambda (list) (cond ((null? list) '()) ((number? (car list)) (no-nums (cdr list))) (else (cons (car list) (no-nums (cdr list))))))) (no-nums '(5 pears 6 prunes 9 dates)) (define all-nums (lambda (lat) (cond ((null? lat) '()) ((number? (car lat)) (cons (car lat) (all-nums (cdr lat)))) (else (all-nums (cdr lat)))))) (all-nums '(99 abc 33 mm 9 gg fuck)) (define eqlat? (lambda (a1 a2) (cond ((and (null? a1) (null? a2)) #t) ((and (number? (car a1)) (number? (car a2))) (cond ((= (car a1) (car a2)) (eqlat?

    (cdr a1) (cdr a2))) (else #f))) ((eq?

    (car a1) (car a2)) (eqlat?

    (cdr a1) (cdr a2))) (else #f)))) (eqlat? '(a b c 33) '(a b c 33)) (define occur (lambda (a lat) (cond ((null? lat) 0) ((number? a) (cond ((and (number? (car lat)) (= (car lat) a)) (add1 (occur a (cdr lat)))) (else (occur a (cdr lat))))) ((number? (car lat)) (occur a (cdr lat))) ((eq?

    a (car lat)) (add1 (occur a (cdr lat)))) (else (occur a (cdr lat)))))) (occur 'a '(a b c d e a 3 4 a)) (occur 3 '(b cd e 3 4 3 ed 3)) (define one? (lambda (n) (= n 1))) (one? 3)



  • 相关阅读:
    Bootstrap 2.2.2 的新特性
    Apache POI 3.9 发布,性能显著提升
    SQL Relay 0.48 发布,数据库中继器
    ProjectForge 4.2.0 发布,项目管理系统
    红帽企业 Linux 发布 6.4 Beta 版本
    红薯 快速的 MySQL 本地和远程密码破解
    MariaDB 宣布成立基金会
    Percona XtraBackup 2.0.4 发布
    Rocks 6.1 发布,光盘机群解决方案
    精通Servlet研究,HttpServlet的实现追究
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7249603.html
Copyright © 2011-2022 走看看