搭建环境参考这篇

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环境搭建与编译运行的更多相关文章

  1. ionic —— 开发环境搭建并编译运行第一个APP

    其实类似的环境已经玩了很多次了,最开始玩还是微信刚刚出来,那会儿没有智能机.只好安装一个模拟器,却只是为了注册一个微信.想想也就是够了~ 前前后后折腾了很多次,可是每一次都给人不一样的感觉,也许是这个 ...

  2. FFMPEG在嵌入式硬件上应用之 —— 基本环境搭建及编译

    前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...

  3. OSG+VS2010+win7环境搭建---OsgEarth编译

    OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 ...

  4. FFMPEG高级编程第一篇:环境搭建及编译

    前段时间在翻看电脑里面资料时,发现了以前做的在嵌入式硬件上面运行以ffmepg为基础,以嵌入式硬件解码的多媒体播放工作,发现都快忘记完了.今日得闲整理温习了一下ffmpeg在嵌入式上的运用,这里给大家 ...

  5. S2X环境搭建与示例运行

    S2X环境搭建与示例运行 http://dbis.informatik.uni-freiburg.de/forschung/projekte/DiPoS/S2X.html 环境 Maven proje ...

  6. 基于vlc sdk的二次开发--环境搭建、编译

    前言 关于 搭建.编译VLC,不同的平台有不同的方法,可以参考wiki. 其中在windows下编译VLC有两种方式,MSYS+MinGW和CygWin.通过测试,最后决定采用MSYS+MinGW搭建 ...

  7. HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客

    HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客 VPS主机   2014年06月02日 17:20   评论»       文章目录 Debian上安装 Ce ...

  8. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  9. Tesseract环境搭建及编译安装

    Tesseract环境搭建及编译安装 Tesseract源码都是C++源码:对于不咋会C++的人来说,这真是...虽然说语言有相通性,但是...哎!!!!! 分享出来,也希望对大家有所帮助. 环境:w ...

随机推荐

  1. 「Vue」登陆-路由拦截器

    1.main.js设置拦截器 router.beforeEach(function (to,from,next) { if (to.meta.requireAuth) { if (store.stat ...

  2. python 爬虫 scrapy1_官网教程

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  3. 函数和常用模块【day05】:生成器并行计算(五)

    本节内容 1.概述 2.生成器执行原理 3.send()和__next__()方法的区别 4.yield实现并行效果 一.概述 之前只是介绍生成器,那有些同学就说了,这个生成器除了能节省资源,提高工作 ...

  4. bzoj千题计划232:bzoj4727: [POI2017]Turysta

    http://www.lydsy.com/JudgeOnline/problem.php?id=4727 竞赛图tarjan缩点后得到的拓扑图一定是一条链 因为竞赛图任意两点的前后顺序确定,只有一种拓 ...

  5. HTML5 拖拽实现

    简介: 最早在网页中引入JavaScript拖放功能是IE4.当时,网页中只有两种对象可以拖放:图像和某些文本.拖放图像时,把鼠标放到图像上,按住鼠标不放就可以拖放它.拖放文本时,要先选中文本,然后可 ...

  6. 20155206 2016-2017-2 《Java程序设计》第8周学习总结

    20155206 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 通用API 15.1 日志 日志API简介 java.util.logging包提 ...

  7. 20155338 2016-2017-2 《Java程序设计》第7周学习总结

    20155338 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 本周学习了第十二章和第十三章的内容,我重点学习了第十三章时间与日期的相关内容. 时间的度量: ...

  8. GORM 中文文档

    由于篇幅问题,本文只是快速开始部分,下面是完整地址. 中文文档地址:http://gorm.book.jasperxu.com/ 中文文档项目地址:https://github.com/jasperx ...

  9. Linux - 磁盘操作

    Linux 磁盘常见操作 : df -Ph # 查看硬盘容量 df -T # 查看磁盘分区格式 df -i # 查看inode节点 如果inode用满后无法创建文件 du -h 目录 # 检测目录下所 ...

  10. 矩阵乘法优化DP

    本文讲一下一些基本的矩阵优化DP的方法技巧. 定义三个矩阵A,B,C,其中行和列分别为$m\times n,n \times p,m\times p$,(其中行是从上往下数的,列是从左往右数的) $C ...