全民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)
全民Scheme(1):数字游戏的更多相关文章
- C语言猜数字游戏
猜数字游戏,各式各样的实现方式,我这边提供一个实现方式,希望可以帮到新手. 老程序猿就不要看了,黑呵呵 源代码1 include stdio.h include stdlib.h include ti ...
- 不一样的猜数字游戏 — leetcode 375. Guess Number Higher or Lower II
好久没切 leetcode 的题了,静下心来切了道,这道题比较有意思,和大家分享下. 我把它叫做 "不一样的猜数字游戏",我们先来看看传统的猜数字游戏,Guess Number H ...
- java 猜数字游戏
作用:猜数字游戏.随机产生1个数字(1~10),大了.小了或者成功后给出提示. 语言:java 工具:eclipse 作者:潇洒鸿图 时间:2016.11.10 >>>>> ...
- 【原创Android游戏】--猜数字游戏Version 0.1
想当年高中时经常和小伙伴在纸上或者黑板上或者学习机上玩猜数字的游戏,在当年那个手机等娱乐设备在我们那还不是很普遍的时候是很好的一个消遣的游戏,去年的时候便写了一个Android版的猜数字游戏,只是当时 ...
- 【原创Android游戏】--猜数字游戏V1.1 --数据存储,Intent,SimpleAdapter的学习与应用
--------------------------------------------------------------- V0.1版本 上次做完第一个版本后,发现还有一些漏洞,并且还有一些可以添 ...
- NOIP2003pj数字游戏[环形DP]
题目描述 丁丁最近沉迷于一个数字游戏之中.这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易.游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分 ...
- Codevs 1229 数字游戏
1229 数字游戏 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题目描述 Description Lele 最近上课的时候都很无聊,所以他发明了 ...
- codevs 1229 数字游戏(可重集的全排列)
传送门 Description Lele 最近上课的时候都很无聊,所以他发明了一个数字游戏来打发时间. 这个游戏是这样的,首先,他拿出几张纸片,分别写上0到9之间的任意数字(可重复写某个数字),然后 ...
- XDU 1161 - 科协的数字游戏II
Problem 1161 - 科协的数字游戏II Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 112 ...
- XDU 1160 - 科协的数字游戏I
Problem 1160 - 科协的数字游戏I Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 184 ...
随机推荐
- Promotion Counting(USACO)
题目翻译: zxyer来到了一个神奇的公司工作,之所以神奇,是因为这个公司的员工的职位并不与他们的水平相称,有的职位极低的职员的经验非常丰富,而有些经理甚至老板都是个萌新.有一天,zxyer收到了老板 ...
- 杭电oj2012-2021
2012 素数判定 #include <stdio.h> #include <math.h> int main() { int x,y,i,j,a,flag; while(s ...
- java基础练习 13
import java.util.Scanner; public class Thirtheen { /*输入某年某月某日,判断这一天是这一年的第几天?*/ public static void ma ...
- nginx 根据url访问次数限制
#获取日期 date=`date +"%y%m%d"` #设置日志路径 data="/data/logs/abc.com/access.log" #配置文件路径 ...
- Java错误随手记
一.Eclipse启动时提示: An internal error occurred during: "Initializing Java Tooling" 1.关闭Eclipse ...
- poj2774(最长公共子串)
poj2774 题意 求两个字符串的最长公共子串 分析 论文 将两个字符串合并,中间插入分隔符,在找最大的 height 值的时候保证,两个字符串后缀的起始点分别来自原来的两个字符串. code #i ...
- 树链剖分【p1505】[国家集训队]旅游
Description Ray 乐忠于旅游,这次他来到了T 城.T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接.为了方便游客到达每个景点但又为了节约成本,T 城的任意两个景点之间 ...
- Web/JAVA 简单题目汇总
[Java标识符,变量.常量] 一.Java合法标识符命名规则 (1)区分字母大小写,标识符长度不限 (2) 英文,Unicode码双字节文字字符(日文,韩文,中文),数字,下划线,$(美元符号)均 ...
- debug with Linux slub allocator
http://thinkiii.blogspot.jp/2014/02/debug-with-slub-allocator.html The slub allocator in Linux has ...
- Persisting iOS Application Data in SQLite Database Using FMDB
In previous articles we have utilized NSUserDefaults and .NET web services to persist iPhone data. N ...