首页 > 其他分享 >sicp每日一题[2.5]

sicp每日一题[2.5]

时间:2024-09-11 10:36:06浏览次数:11  
标签:cons power 每日 sicp base cdr 2.5 define

Exercise 2.5

Show that we can represent pairs of nonnegative integers using only numbers and arithmetic operations if we represent the pair a and b as the integer that is the product 2a3b. Give the corresponding definitions of the procedures cons, car, and cdr.


这道题目难度也不大,只要实现一个辅助函数来计算结果中包含了几个 base 的乘积即可。

; 计算 n 中最多包含几个 base 的积
(define (get-power n base)
  (define (iter k last)
    (if (= (remainder last base) 0)      ; 如果余数为0,说明能够被base整除,则次数 +1
        (iter (+ k 1) (/ last base))
        k))
  (iter 0 n))

(define (cons a b)
  (* (expt 2 a) (expt 3 b)))

(define (car z)
  (get-power z 2))

(define (cdr z)
  (get-power z 3))


(define p (cons 3 2))
(display p)
(newline)
(car p)
(cdr p)

; 执行结果
72
3
2

标签:cons,power,每日,sicp,base,cdr,2.5,define
From: https://www.cnblogs.com/think2times/p/18407826

相关文章

  • 小说推文:每日三位数收益轻松实现,稳定回报持久保障!
    该项目操作简便,仅需制作和发布视频即可,且全程可通过AI工具完成。项目潜力巨大,短视频平台用户基础广泛,覆盖面广。此外,同一视频可发布至多个平台,不会被判定为非原创。随着短视频平台的持续发展和用户基数的增长,小说推文项目依然具有很大的发展潜力。我们希望更多的人能发现并......
  • 小说推文:每日三位数收益轻松实现,稳定回报持久保障!
    该项目操作简便,仅需制作和发布视频即可,且全程可通过AI工具完成。项目潜力巨大,短视频平台用户基础广泛,覆盖面广。此外,同一视频可发布至多个平台,不会被判定为非原创。随着短视频平台的持续发展和用户基数的增长,小说推文项目依然具有很大的发展潜力。我们希望更多的人能发现并......
  • 小说推文:每日三位数收益轻松实现,稳定回报持久保障!
    该项目操作简便,仅需制作和发布视频即可,且全程可通过AI工具完成。项目潜力巨大,短视频平台用户基础广泛,覆盖面广。此外,同一视频可发布至多个平台,不会被判定为非原创。随着短视频平台的持续发展和用户基数的增长,小说推文项目依然具有很大的发展潜力。我们希望更多的人能发现并......
  • 高级java每日一道面试题-2024年9月06日-基础篇-Java中的PO、VO、BO、DO、DAO、DTO、PO
    如果有遗漏,评论区告诉我进行补充面试官:Java中的PO、VO、BO、DO、DAO、DTO、POJO是什么意思?我回答:PO持久化对象(PersistentObject)PO是持久化对象,用于表示数据库中的实体或表的映射通常与数据库表的结构和字段对应PO的属性对应数据库表的字段,可以进行持久化操作(新......
  • C# 混淆加密大师1.2.5更新, 新增多个混淆选项和功能, 附免费版下载地址
    C#混淆加密大师支持 .NetFramework2.0到.NetFramework4.x,以及.NETCore2.0至最新的.NET8版本的C#程序,包括Winform、WPF、Unity游戏以及控制台程序的混淆加密,可有效保护C#程序代码,防止非法复制或篡改,保护知识产权.  特性1.支持多种不同的程序框架:包括Winform......
  • 【连续多年EI检索,去年EI检索只需2.5个月!学生易中稿,性价比超高!SPIE出版 (ISSN号: 0277-
    由重庆理工大学、重庆市特种设备检测研究院和重庆市电子学会联合主办,重庆邮电大学、韩国仁荷大学、重庆工程学院、重庆能源职业学院协办,光纤传感与光电检测重庆市重点实验室、现代光电检技术与仪器重庆市高校重点实验室、西部复杂环境机电设备安全国家市场监管重点实验室、智能......
  • 每日算法随笔:反转链表 II
    明白了!下面我将基于你给的两种方法来详细解释题解,并展示每一步的变化过程。题解:反转链表II这道题要求我们反转链表中从第left个节点到第right个节点的部分,返回反转后的链表。我们会使用两种方法:递归和迭代。示例解析示例1:输入:head=[1,2,3,4,5],left=2,ri......
  • 每日算法随笔:反转链表
    题解:反转链表这道题目要求我们将一个单链表进行反转,返回反转后的链表。链表的反转可以通过迭代和递归两种方法来实现。下面我们将详细解释这两种方法,并通过例子演示每一步的变化过程。方法一:迭代法思路:我们用三个指针来完成链表的反转:prev表示前一个节点,curr表示当前节......
  • sicp每日一题[2.4]
    Exercise2.4Hereisanalternativeproceduralrepresentationofpairs.Forthisrepresentation,verifythat(car(consxy))yieldsxforanyobjectsxandy.(define(consxy)(lambda(m)(mxy)))(define(carz)(z(lambda(pq)p)))Whatistheco......
  • 每日OJ_牛客_单词倒排(字符串模拟)
    目录牛客_单词倒排(字符串模拟)解析代码牛客_单词倒排(字符串模拟)单词倒排__牛客网时间限制:C/C++1秒,其他语言2秒空间限制:C/C++32M,其他语言64M题目描述:对字符串中的所有单词进行倒排。说明:1、构成单词的字符只有26个大写或小写英文字母;2、非构成单词的字符均视为单词......