您的位置:首页 > 其它

【SICP练习】21 练习1.27

2015-02-07 10:30 127 查看


练习1.27

这道题的场景是在注释47中,博主更关心的问题是:(第三行)撞上能欺骗费马检查的值的概率有多少,居然会比什么宇宙射线造成计算机出差。后者个人感觉是永远不会发生的,前者倒是还有可能发生。希望把前者的概率算出来的童鞋将过程列出来啦!

言归正传,题目的意思就是要去验算注释47中的那几个Carmichael,那就来code吧:

(define (find-carmichael n)

(define (find-carmichael-test x n)

(cond((= x n) #t)

((same-remainder?x n)

(find-carmichael-test(+ x 1) n))

((else#f)))

(define (same-remainder? x n)

(= (expmod x n n) x))

(find-carmichael-test 1 n))

当然了,这里要load保存好的expmod函数。然后就是测试了:

(carmichael-test 6601)

;Value: #t

其他的都一样的返回结果,不然就是函数写错了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: