全民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 ...
随机推荐
- Maven入门指南(一)—— Maven下载与安装
Maven下载与安装 1.下载1)Maven的系统要求: Maven对内存和操作系统没有要求 Maven安装本身仅需大约10MB,本地仓库视使用情况有所不同 Maven3.3及以上版本需要JDK1.7 ...
- windows实时监测热插拔设备的变化2
//动态监测设备插拔 #include <Dbt.h> BEGIN_MESSAGE_MAP(ParticipateMeeting, CDialogEx) ON_WM_DEVICECHANG ...
- CString和string在unicode与非unicode下的相互转换(转)
原文转自 http://blog.csdn.net/u014303844/article/details/51397556 CString和string在unicode与非unicode下的相互转换 ...
- CGRectInset、CGRectOffset、等对比整理
http://blog.sina.com.cn/s/blog_76f3236b01013zmk.html 分类: iphone有关 1.CGRectInsetCGRect CGRectInset ...
- C#中使用7Z进行压缩解压
SevenZipSharp相关文档下载地址: http://sevenzipsharp.codeplex.com/releases/view/51254 1. 解决方案中添加引用:SevenZipSh ...
- 关于asp.net中gridview的问题,关于footer,16aspx上下的英语交流网程序,管理员的添加和修改有问题
css部分 这是添加用户的方法 但是A.AdminName 和后面的A.取到的都是空值protected void GridView1_RowCommand(object sender,GridVie ...
- 洛谷——P1579 哥德巴赫猜想(升级版)
P1579 哥德巴赫猜想(升级版) 题目背景 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约 ...
- ReactiveCocoa(二)
前言 通过ReactiveCocoa(一)的学习,相信大家对ReactiveCocoa有了一些基本认识吧.下面就让我们来学习ReactiveCocoa的一些基本使用吧! ReactiveCocoa基本 ...
- Chrome下强制http重定向到https的问题
问题: Chrome会强制将http重定向到https,就算是在浏览器手动输入http://xxx也不可以. 解决方案: 1. 在chrome的地址栏输入chrome://net-internals/ ...
- Android 更新UI的两种方法——handler和runOnUiThread()
今天看到了一个runOnUiThread()方法用来更新UI,觉得很神奇!! 方法一:handler机制不说了. 方法二:利用Activity.runOnUiThread(Runnable)把更新ui ...