- 浏览: 88777 次
- 性别:
- 来自: 北京
-
最新评论
-
Bloodwolf:
gaowei52306 写道怎样在Linux中设置路由,用此方 ...
Loadrunner IP欺骗 -
gaowei52306:
怎样在Linux中设置路由,用此方法在Windows操作系统上 ...
Loadrunner IP欺骗
文章列表
Windows下如果需要改变文本文件的编码,通常可以用记事本或其他文本编辑器打开,另存为其他编码格式即可。Linux有个enca工具可以做到这一点:
enca -x UTF-8 textfile.txt
该命令可以将textfile.txt转变为UTF-8编码。
enca也可以查看文本文件编码:
enca textfile.txt
更多的选项可以man enca。
利用三角恒等式:sin x = 3sin(x/3) - 4sin(x/3)^3,求值sin x,当x足够小时,sin x = x。
过程如下
(define (sine angle)
(if (<= (abs angle) 0.1)
angle
(p (sine (/ angle 3.0)))))
(define (p x)
(- (* 3 x) (* 4 (cube x))))
(define (cube x)
(* x x x))
求值(sine 12.15),p将使用多少次?
12.15 * (1/3)^n <= ...
- 2009-06-02 14:11
- 浏览 823
- 评论(0)
如下过程:
(define (count-change amount)
(cc amount 5))
(define (cc amount kinds-of-coins)
(cond ((= amount 0) 1)
((or (< amount 0) (= kinds-of-coins 0)) 0)
(else (+ (cc amount (- kinds-of-coins 1))
(cc (- amount (first-denomination kinds-of-coins)) kinds-of-coins)))))
(defi ...
- 2009-06-02 13:34
- 浏览 703
- 评论(0)
证明Fibonacci数列F(n)是最接近(a^n) / sqrt(5)的整数,其中a=(1+sqrt(5)) / 2。
F(n) = 0, n = 0
1, n = 1
F(n-1) + F(n-2), n > 1
此递归式的特征方程为 C(t) = t^2 - t - 1 = 0,求解得t1 = (1+sqrt(5)) / 2,t2 = (1-sqrt(5)) / 2
设F(n) = k1t1^n + k2t2^n,代入初始条件,求解得k1 = 1/sqrt(5),k2 = -1/sqrt(5)
则F(n) = (t1^n ...
- 2009-06-02 10:48
- 浏览 915
- 评论(0)
递归过程求解Pascal三角形:
(define (pascal-tri row col)
(cond ((or (< row col) (<= row 0) (<= col 0)) 0)
((or (= col 1) (= col row)) 1)
(else (+ (pascal-tri (- row 1) col)
(pascal-tri (- row 1) (- col 1))))))
- 2009-05-27 10:22
- 浏览 700
- 评论(0)
递归和迭代两种过程求解:
f(n) = f(n - 1) + 2f(n - 2) + 3f(n - 3), n>=3
f(n) = n, n<3
(define (f-r n)
(if (< n 3)
n
(+ (f-r (- n 1)) (* 2 (f-r (- n 2))) (* 3 (f-r (- n 3))))))
(define (f-i n)
(define (iter a b c count)
(if (= count 0)
a
(iter b c (+ c (* 2 b) (* 3 a)) (- ...
- 2009-05-26 18:04
- 浏览 740
- 评论(0)
Ackermann函数:
(define (A x y)
(cond ((= y 0) 0)
((= x 0) (* 2 y))
((= y 1) 2)
(else (A (- x 1)
(A x (- y 1))))))
(A 1 10): 1024
(A 2 4): 65536
(A 3 3): 65536
下面3个过程:
(define (f n) (A 0 n))
(define (g n) (A 1 n))
(define (h n) (A 2 n))
分别表示:
(f n): 2n
(g n): ...
- 2009-05-26 17:08
- 浏览 693
- 评论(0)
两种方式计算(+ 4 5)
(define (+ a b)
(if (= a 0)
b
(inc (+ (dec a) b))))
(define (+ a b)
(if (= a 0)
b
(+ (dec a) (inc b))))
第一种方式,是一个递归过程:
(+ 4 5)
(inc (+ 3 5))
(inc (inc (+ 2 5)))
(inc (inc (inc (+ 1 5))))
(inc (inc (inc (inc (+ 0 5)))))
(inc (inc (inc (inc 5))))
...
- 2009-05-26 13:41
- 浏览 804
- 评论(0)
求立方根的牛顿法:
(define (cube-root x)
(cube-root-iter 1.0 0.5 x))
(define (cube-root-iter guess prev-guess x)
(if (good-enough? guess prev-guess)
guess
(cube-root-iter (improve guess x) guess x)))
(define (good-enough? guess prev-guess)
(< (/ (abs (- guess prev-guess)) prev ...
- 2009-05-26 13:24
- 浏览 780
- 评论(0)
牛顿法求平方根,实现good-enough?的另一种策略,监视猜测值从一次迭代到下一次迭代的变化情况:
(define (sqrt x)
(sqrt-iter 1.0 0.5 x))
(define (sqrt-iter guess prev-guess x)
(if (good-enough? guess prev-guess)
guess
(sqrt-iter (improve guess x) guess x)))
(define (good-enough? guess prev-guess)
(< (/ (abs (- gues ...
- 2009-05-26 13:10
- 浏览 798
- 评论(0)
if的新版本,用cond实现的new-if:
(define (new-if predicate then-clause else-clause)
(cond (predicate then-clause)
(else else-clause)))
重写的求平方根的程序:
(define (sqrt-iter guess x)
(new-if (good-enough? guess x)
guess
(sqrt-iter (improve guess x)
x)))
如果是正则序求值,if的新版本可以正确运行。
...
- 2009-05-26 10:45
- 浏览 526
- 评论(0)
下面这段代码:
(define (p) (p))
(define (test x y)
(if (= x 0)
0
y))
(test 0 (p))
应用序(applicative-order)求值:
(test 0 (p))
(test 0 (p))
...
求值过程不会结束,DrScheme即是应用序求值
正则序(normal-order)求值:
(test 0 (p))
(if (= 0 0) 0 (p))
0
结果为0
- 2009-05-25 18:03
- 浏览 688
- 评论(0)
运算符为复合表达式:
(define (a-plus-abs-b a b)
((if (> b 0) + -) a b))
求值过程:
(a-plus-abs-b 3 -5)
((if (> -5 0) + -) 3 -5)
(- 3 -5)
8
- 2009-05-25 17:54
- 浏览 595
- 评论(0)
定义一个过程,返回3个数中较大的2个数之和。
(define (sum-max2 a b c)
(cond ((and (< a b) (< a c)) (+ b c))
((and (< b a) (< b c)) (+ a c))
((and (< c a) (< c b)) (+ a b))))
- 2009-05-25 16:47
- 浏览 696
- 评论(0)
将下面的式子写为scheme表达式:
(/ (+ 5
4
(- 2 (- 3 (+ 6 4/5))))
(* 3 (- 6 2) (- 2 7)))
- 2009-05-25 16:08
- 浏览 490
- 评论(0)