码迷,mamicode.com
首页 >  
搜索关键字:编程之美    ( 589个结果
编程之美4.7 | 蚂蚁爬杆
有一根长为L的平行于x轴的细木杆,其左端点的x坐标为0(故右端点的x坐标为L)。刚开始时,上面有N只蚂蚁,第i(1≤i≤N)只蚂蚁的横坐标为xi(假设xi已经按照递增顺序排列),方向为di(0表示向左,1表示向右),每个蚂蚁都以速度v向前走,当任意两只蚂蚁碰头时,它们会同时调头朝相反方向走,速度不变...
分类:其他好文   时间:2014-10-01 03:55:30    阅读次数:287
编程之美2.8 | 找符合条件的整数
思路还是相当地巧妙。求余数的话,(a+b)%n=(a%n+b%n)%n;用vector来表示整数的话(出现1的位置),可以避免溢出。注意第20行,在更新remainders[(j+r)%n]时,要确保每个remainders的每个序列都是递增的,不能存在相等的情况。 1 #include 2 #i....
分类:其他好文   时间:2014-09-30 15:18:09    阅读次数:124
找1到n所有整数出现1的个数
编程之美2.4n=12时,1,11,12这3个数包含1,所以1的个数是5.Line 9是为了防止factor溢出。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int countOne(int n) { 7 ...
分类:其他好文   时间:2014-09-30 00:51:01    阅读次数:283
编程之美2.9 斐波那契数列
斐波那契数列是我们在学习C语言的时候,在递归那一章的经典实例,当然,还会有汉诺塔的例子。      这个问题时这样定义的:                  0 (x        f(x)   = 1 (x == 1)                  f(x - 1) + f(x - 2) (x > 1)      看到这个递推公式后,我们很容易可以写出如下的代码:...
分类:其他好文   时间:2014-09-29 16:34:01    阅读次数:165
编程之美2.8 找符合条件的整数
这个题目是,给定一个整数 N,需要寻找另外一个整数 M,使得 N * M 得到的结果十进制表示中只存在1和0两个数字。首先看到这个题目,第一思想肯定是 使 M = 1,并依此递增 M 的值,直到 N * M 获得想要的效果,但是,如果 N 很大呢,那么计算量也是很大的,所以,我们需要寻求更好的解决办法。      书中提到的解决办法有点复杂,这里我介绍的方法也是非常简单的,就是倒过来思考问题,我们...
分类:其他好文   时间:2014-09-28 17:26:13    阅读次数:164
《编程之美》学习笔记——指挥CPU占用率
问题: 写一个程序,让用户来决定Windows任务管理器(Task Manager)的CPU占用率(单核)。有以下几种情况: 1.CPU占用率固定在50%,为一条直线 2.CPU的占用率为一条直线,具体占用率由命令行参数决定(范围1~100) 3.CPU的占用率状态为一条正弦曲线 4.多核处理器情况下上述问题怎么解决 首先确定CPU占有率的定义,即在任务管理器的一个刷新周期内,...
分类:其他好文   时间:2014-09-28 17:11:03    阅读次数:225
编程之美2.7 最大公约数,最小公倍数
书中的题目是求两个数的最大公约数,其实这个问题时当我们学习C语言的时候老师就讲过的算法,和教学中的求素数是一个类型的问题。      我们当时学的方法是 “辗转相除法”,即利用公式: f(x, y) = f(y, x % y),直到 x % y == 0,取x就是两个数的最大公约数。      但是书中说道,乘除运算太浪费时间了,所以,我们可以换一种方法去思考这个问题,乘除不能用,就只能是加减了,...
分类:其他好文   时间:2014-09-27 16:38:40    阅读次数:190
编程之美2.5 寻找最大的K个数
在一个数组中寻找最大的K个数,我们首先说一种非常简单的方法,利用快速排序中的分割算法,即我们经常看见的partition。这个函数会返回一个 int 类型的值,这个值代表的是前一半数字和后一半数字的分割点,前一半数字都小于等于后一半数字(递增排序),所以,我们只要找到相对应的分割点,即可以找到最大的K个数,或者最小的K个数,这就是利用线性方法可以完成任务的方法。      首先,给出函数声明:in...
分类:其他好文   时间:2014-09-27 15:16:59    阅读次数:124
【编程之美】3.9重建二叉树
题目: 给定一棵二叉树,假定每个节点都用唯一的字符表示,具体结构如下:structNODE{NODE*pLeft;NODE*pRight;charchValue;}; 假设已经有了前序遍历和中序遍历结果,希望通过一个算法重建这棵树。 给定函数的定义如下:voidRebuild(char*pPreOr...
分类:其他好文   时间:2014-09-26 18:58:18    阅读次数:134
编程之美 2.4 1的数目
这道题的意思是,给定一个数n,那么从1到n这n个数中,1出现了几次。这个问题开始看,肯定不容易做,往往都是利用最笨的方法,一个数一个数的找就行了,那么如果n很大,就需要非常多的时间了,书中提供了更好的方法,需要发现数字中存在的相关规律:对于数abcde,c这位出现1的次数分以下情况:1.若c > 1,结论是(ab + 1)* 100;          2.若c == 1,结论是(ab)* 100...
分类:其他好文   时间:2014-09-25 19:18:47    阅读次数:129
589条   上一页 1 ... 43 44 45 46 47 ... 59 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!