读书笔记之编程之美 - 2.20 程序理解和时间分析

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

问题1:

代码的关键是那个break,如果找到3个不能整除的数,内层for循环就退出了,必须正好从30个数里面找到2个数不能整除,而且这两个数还要连续。所以问题一的答案是,某个数不能且仅不能被2~31之间连续的两个数整除

问题2:

这个问题先看看是否任意连续两个数都可以作为结果用到的那两个数。

分析rg[]中15 = 3 x 5这个数,如果某数可以被3和5整除,那么也一定能被15整除,因此15不可能是连续2个数中间的一个,例如30可以被3和5整除,则一定可以被15整除,这样15就不会是结果可以用的那两个不可以整除的数。分析rg中的25 = 5 x 5,一个数可以被5整除,却不一定能被25整除,例如i = 30这个数。所以满足条件的数只能是素数或者完全平方、多次方这样的数。也就是:

2 3 4 5  7 8 9 11 13 16 17 19 23 25 27 29 31

其中连续的有,(2,3)(3,4)(4,5)(7,8)(8,9)(16,17)

所要的结果就是除了这其中两个数的公倍数,而最小的公倍数当然是对于(16,17)这两个数来说的。

不过求最小公倍数也得费半天功夫,我算的结果是2123581660200

问题3:

由于不知道%指令周期是多少,暂时不想这个问题了。

程序员的呐喊》读书笔记(下) 接着《程序员的呐喊》读书笔记(上),继续分享下篇,这次干货比较多哦,有静动态类型的优缺点、强弱类型系统的对抗、设计模式、程序员的数学、编译器的重要性以及保守派自由派的较量,一时消化不了的建议保存以便read it later。静态类型动态类型的优缺点静态类型的优点下面列出了静态类型的主要优点:(1)静态类型可以在程序运行之前,依赖其与生俱来的限制来及早发现一些类型错误。(或是在插入/更新记录,解 阅读详情

相关推荐

编程-程序理解时间分析整理

读上述程序并回答以下问题:

GarfieldEr007的专栏 1088

linux tao环境 安装_linux编译TAO的问题,求高手指导!!!!

按如下步骤操作,第四部安装TAO,为什么没有编译$TAO_ROOT/orbsvcs/Naming_Service$TAO_ROOT/orbsvcs/Notify_Service1、安装GNUmake2、环境变量设置:exportACE_ROOT=***/ACE_wrapp...按如下步骤操作,第四部安装TAO,为什么没有编译$TAO_ROOT/orbsvcs/Naming_Service $...

weixin_39572152的博客 383

编程读书笔记2.20程序理解时间分析

1.     理解这个程序就是从输出的地方入手即可。这个程序输出的条件是hit==2&&(hit1+1==hit2),而hit表示满足i%r[j]!=0的条件的次数,hit==2表示这个条件只能被满足两次,也就是说对于一个i,在rg数组的30个数中,这个i能被其它28个数整除,而不能被其中两个数整除。而hit1表示第一个不能整除i的数的下标,hit2表示第二个不能整除i的下标,这两个下标被要求相

yuhan_9204的专栏 517

编程--2.20(程序理解时间分析)

这是《编程》的2.20题目,给出一段C#代码,要求不用电脑,理解程序并回答问题。下面是从C#代码中改写成的C++代码: #include #include using namespace std; int main() { int rg[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,2

ajaxhe的专栏 1145

精选的一些《编程》相关资料

转载自:http://blog.csdn.net/wuyuegb2312/article/details/9896831 又要到一年的招聘季了,肯定又有很多人开始啃《编程》了吧。这本书从开阔视野的角度来说很好,不过限于篇幅,有的问题并没有讲清楚(甚至问题叙述模棱两可、被标榜为“鼓励同面试官交流以获得更多细节”);或者扩展问题本身很难,没有给予解答提示。在我看书并在网络上查到的相关资

nanjunxiao的专栏 1344

读书笔记:《编程

编程读书笔记 我所阅读的《编程》是由《编程》小组所编写,由电子工业出版社出版,出版时间2018年11月。此书的由来是有关于微软的面试,后来被用来教授人们一些编程技巧。该书的作者们大多从游戏出发,提出问题,循循善诱,引导读者进行阅读,学习,编程。阅读的过程中不会感到枯燥,而会感到越发有趣,大部分的问题都会在最后配上可以实现的代码来帮助读者学习,简直就是从小白到大神的一条光明大道。 本书其中一个题目就是控制CPU的占用率,这本是来自微软面试的一个问题,作者们尽管自有办法,但仍想从面试者那里看看

Be_Flamingo的博客 1683

编程阅读心得

3.30今晚开始正式阅读编程。今晚心神有点乱。用了两节时间看了一道题:NIM游戏。就是给M颗石头,让你发堆,然后先B后A的顺序拿,每次拿1个以上。问如何分堆才能保证A必胜。我的结论是:(1)如果存在一个对A的安全状态T,那么如果T‘能够在一步转为T,则T是A的必败状态。(2)此题的思路的关键是确定一种A的必胜的模式:比如分偶数堆,每堆个数相同。-----其实思路应该更简单

huangzheguyun的专栏 1161

高效能程序员的修炼 --读书笔记

高效能程序员的修炼 –读书笔记 这是我读完Jeff Atwood的<高效能程序员的修炼>这本书后的一些回顾, 我会根据这本书的章节依次写下对每章节的理解认识. 高效能程序员的修炼 读书笔记 第一章 入门须知 你想成为一个程序程序员的八种境界 如何培养写作习惯 第二章 把一堆烂事搞定的艺术 学海无边优秀的的管理方式 磨刀不误砍柴工 一路向前冲 关于

陈新华的茅草房 843

编程珠玑读书笔记

   这本书中的程序都很有趣,传授了重要的编程技巧基本的设计原理。书的结构如下: 第1章: 问题“怎样给一个磁盘文件排序?”准确的问题描述输入:一个最多包含n个正整数的文件,每个数都小于n,其中n=107。如果在输入文件中有任何整数重复出现就是致命错误。没有其他数据与该整数相关联。输出:按升序排列的输入整数的列表约束:最多有1MB内存空间可用,有充足的磁盘空间

DeepIT的专栏 1623

编程读书笔记

PB15151793 陈灿 今天又抓紧时间把《编程》第二章《数字之魅》看完了,并且看完了第三章《结构之法》。为什么这么急?因为感觉面试可能在任意一个时间点过来,早早准备为妙。 发散性思维 我感觉《编程》这本书其实很在乎一种发散性思维,即我们现在解决了问题A,能否改变一些条件,生成一个新的问题B,然后尝试去解决问题B。一般来说改变的条件就是我们之前在题目中加入的一些...

weixin_30344995的博客 93

《Java并发编程读书笔记

文章目录一、多线程并发编程理解二、Java中的线程安全问题1、Java中共享变量的内存可见性问题 一、多线程并发编程理解 并发与并行 并发是指同一个时间段内多个任务同时都在执行【都没有执行结束】。 并行是指单位时间内多个任务同时在执行。 并发任务强调在一个时间段内同时执行,而 一个时间段由多个单位时间累计而成,所以说并发的多个任务在单位时间内不一定同时执行。 单CPU时代多个任务都是...

YangzaiLeHeHe的博客 557

w017基于Springboot的读书笔记共享平台

本论文主要论述了如何使用JAVA语言开发一个读书笔记共享平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述读书笔记共享平台的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。本论文介绍了读书笔记共享平台系统中分析到设计最后到开发的全过程,在开发过程中,通过在这些读书笔记共享平台系统,利用专业网站已有的系统进行活动本系统有管理员、用户及前台首页。 本文从管理员、用户的功能要求出发,读书笔记共享平台系

卓怡学长的博客 1221

程序员的成长课》读书笔记心得体会2700字

程序员的成长课》读书笔记心得体会2700字: 这是一个焦虑的时代,前有《人到中年,职场半坡》刷屏,后有互联网寒冬刷爆朋友圈。登录各大社交平台,关于程序员的未来的出路问题讨论,总能得到众多的关注。 整个社会弥漫着一股焦虑的味道,其实不只中年人,年轻人一样焦虑,只不过换了个名词:迷茫,有道是“谁的青春不迷茫”。如果再聚焦到IT这个领域,程序员这个群体更容易焦虑。 到底是什么引发了焦虑? IT是一个新...

minemi的博客 1117

csapp 第五章读书笔记 分析程序指标工具

complier 无论怎样优化代码,都不会替换数据结构算法。要在基本水平之上调优性能,需要对处理器的微体系结构有一定的了解,描述了处理器实现其指令集体系结构的基本机制。对于乱序处理器的情况,了解一些关于功能单元的操作、能力、延迟发射时间等方面的知识,可以建立一个基准,用于预测程序的性能。

weixin_43876597的博客 1303

基于java的SpringBoot框架读书笔记共享平台

本论文主要论述了如何使用JAVA语言开发一个读书笔记共享平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述读书笔记共享平台的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析设计。本论文介绍了读书笔记共享平台系统中分析到设计最后到开发的全过程,在开发过程中,通过在这些读书笔记共享平台系统,利用专业网站已有的系统进行活动本系统有管理员、用户及前台首页。

这就是程序猿的博客 986

编程匠艺读书笔记2

错误处理 日志

阮阮的专栏 657

基于SpringBoot学生读书笔记共享

Java 属于一个高层次的脚本语言,以解释性,编译性,互动性面向对象相结合。在设计上相比其他语言,它更具有特色语法结构,很强的可读性。2.在软件项目,通过经营性数据的数据库,可以保证其安全,独立数据一致,访问数据的系统来提供,所以有效减少时间程序员开发应用程序。MySQL可以支持多线程,可以方便使用系统的资源,提高运行的速度。并提供odbc、jdbctcp/ ip,以各种形式连接到MySQL;功能方面表现欠缺,规模小,但对于这个系统就足够了。

qq_30169035的博客 1269

极限编程(XP编程读书笔记(二)

结对编程是一种技巧。它需要实践,不是对每个人都很容易开始。结对编程是XP中极其重要的一种技巧,因此值得培养这种习惯来利用它的好处。体系结构体现在探究中,体现在隐喻中,体现在第一次迭代以及别的地方。XP通过以下机制处理体系结构:探究,隐喻,第一次迭代,小版本,重构,团队实践。隐喻提供了一种共识一套公共词汇表。它有助于形成对问题系统的全新理解,并有助于指导系统的结构。极限编程(XP

::: 移动互联网时代开发者 ::: 2369
上一篇: 2010年8月25日
下一篇: 读书笔记之编程之美 - 2.21 只考加法的面试题
Erorr
博客等级 码龄20年 90粉丝 144原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值