[lisp] scheme环境搭建与编译运行
搭建环境参考这篇
http://leochin.com/mac-scheme-install/
用文本编辑器写代码 保存文件格式为 .scm
在终端中cd到scm文件所在文件夹,
执行 (cf "scm_name")编译文件
然后执行 (load "scm_name.scm")加载文件,加载过程中会把文件执行一遍,就像Python一样,或者应该反过来说。
下面是几个lisp程序,参考书籍 SICP
求余:
(define (remainder m n)(
if (< (- m n) n)
(- m n)
(remainder (- m n) n)
)
)
牛顿法求开方:
(define (sqrt x)
(define (sqrt_iter guess x)
(if (good_enough? guess x)
guess
(sqrt_iter (improve_guess guess x)
x ))) (define (improve_guess guess x)
(average guess (/ x guess))) (define (average a b)
(/ (+ a b) 2)) (define (good_enough? guess x)
(< (abs (- (square guess) x)) 0.001)) (define (square x) (* x x)) (define (abs x)
(if (< x 0)
(- x)
x)
)
(sqrt_iter 1.0 x)
)
阶乘:
(define (factorial n)
(fact_iter 1 1 n)) (define (fact_iter res count n)
(if (> count n)
res
(fact_iter (* res count) (+ count 1) n)))
求幂:
(define (expt x n)(
expt_iter x 1 n)
) (define (expt_iter x res n)(
if (= n 0)
res
(expt_iter x (* x res) (- n 1))
)
)
最大公约数:
(define (gcd m n)(
if (= n 0)
m
(gcd n (remainder m n))
))
fibonacci:
(define (fib n)
(fib_iter 1 0 n) ) (define (fib_iter next pre count)(
if (= count 0)
pre
(fib_iter (+ pre next) next (- count 1))
))
(define (fib n)
(if (< n 2)
1
(+ (fib (- n 1))
(fib (- n 2)))))
[lisp] scheme环境搭建与编译运行的更多相关文章
- ionic —— 开发环境搭建并编译运行第一个APP
其实类似的环境已经玩了很多次了,最开始玩还是微信刚刚出来,那会儿没有智能机.只好安装一个模拟器,却只是为了注册一个微信.想想也就是够了~ 前前后后折腾了很多次,可是每一次都给人不一样的感觉,也许是这个 ...
- FFMPEG在嵌入式硬件上应用之 —— 基本环境搭建及编译
前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...
- OSG+VS2010+win7环境搭建---OsgEarth编译
OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...
- FFMPEG高级编程第一篇:环境搭建及编译
前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...
- S2X环境搭建与示例运行
S2X环境搭建与示例运行 http://dbis.informatik.uni-freiburg.de/forschung/projekte/DiPoS/S2X.html 环境 Maven proje ...
- 基于vlc sdk的二次开发--环境搭建、编译
前言 关于 搭建.编译VLC,不同的平台有不同的方法,可以参考wiki. 其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin.通过测试,最后决定采用MSYS+MinGW搭建 ...
- HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客
HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客 VPS主机 2014年06月02日 17:20 评论» 文章目录 Debian上安装 Ce ...
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...
- Tesseract环境搭建及编译安装
Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...
随机推荐
- django 学习笔记(转)
原文链接:https://my.oschina.net/linktime/blog/105280 例如有一下模型 from django.db import models class person(m ...
- Docker应用五:使用Dockerfile部署MongoDB
在Docker容器中部署MongoDB 不做铺垫,直接开撸: 一.软件准备: docker(已安装) MongoDB-3.2.0.tgz 二.准备配置文件mongo.conf port=27017 d ...
- bzoj千题计划295:bzoj3140: [Hnoi2013]消毒
http://www.lydsy.com/JudgeOnline/problem.php?id=3140 如果只有两维,那就是二分图最小点覆盖 现在是三维,但是a*b*c<=5000,说明最小的 ...
- JavaScript编写风格指南 (三)
七(七):严格模式 // 严格模式应当仅限在函数内部使用,千万不要在全局使用 //不好的写法:全局使用严格模式"user strict"; function doSomething ...
- 20155212 2016-2017-2 《Java程序设计》第6周学习总结
20155212 2016-2017-2 <Java程序设计>第6周学习总结 教材学习内容总结 Chapter10 输入串流为java.io.InputStream,输出串流为java.i ...
- 【转】教你何时开启水果机上的HDR拍照
原址:http://news.mydrivers.com/1/175/175922.htm 苹果在iOS 4.1操作系统中为iPhone 4增加了一项有趣的新功能:HDR拍照.虽然目前市场上支持HDR ...
- Tju_Oj_3988Password
这个题是给树的前序和中序,输出后序. 做法是根据前序找根,根据根在中序中找中序的左右子树,根据左右子树长度找前序的左右子树,依此递归. 做过之后感觉还是比较基础的,废话不多说,上题上代码. Bob w ...
- 【配置】Spring和MyBatis整合
spring配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="h ...
- 001_关于选中的磁盘具有MBR分区表。在 EFI 系统上,Windows 只能安装到 GPT 磁盘。问题解决
问题: 今天我的diy电脑重装系统时,遇到了一个棘手的问题.在选择安装分区的时候,提示有这样的错误. Windows 无法安装到这个磁盘.选中的磁盘具有MBR分区表.在 EFI 系统上,Windows ...
- 20175225《java程序设计》第五周学习总结
20175225 2018-2019-2 <Java程序设计>第5周学习总结 教材学习内容总结 1.接口体中包含常量的声明(没有变量)和抽象方法两部分.接口体中只有抽象方法,没有普通的方法 ...